scrapy框架
Posted 594504110python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy框架相关的知识,希望对你有一定的参考价值。
1. 安装scrapy模块
1. pip install wheel 安装这个模块是为安装twisted做准备, 因为安装twisted需要用到wheel 2. 下载twisted, 因为scrapy是基于twisted的异步非阻塞框架 https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载和python版本, 操作系统位数对应 3. 安装twisted, 进入到下载的目录 pip install twisted 4. pip install pywin32 5. pip install scrapy
2. 创建一个scrapy项目
在终端中执行下面命令创建一个scrapy项目
D:OneDrive - hk sar baomin incPythonprojectReptileday06>scrapy startproject testDemo New Scrapy project ‘testDemo‘, using template directory ‘c:\python36\lib\site-packages\scrapy\templates\project‘, created in: D:OneDrive - hk sar baomin incPythonprojectReptileday06 estDemo You can start your first spider with: cd testDemo scrapy genspider example example.com
3. 创建一个scrapy爬虫
cd testDemo
D:OneDrive - hk sar baomin incPythonprojectReptileday06 estDemo>scrapy genspider test www.baidu.com Created spider ‘test‘ using template ‘basic‘ in module: testDemo.spiders.test
4. scrapy框架的目录结构
scrapy.cfg │ └─testDemo │ items.py # item对象, 用于数据持久化数据传递 │ middlewares.py # 中间件文件 │ pipelines.py # 管道文件 │ settings.py # 配置文件 │ __init__.py │ ├─spiders #具体的爬虫文件目录 │ │ test.py # 这是刚创建的爬虫文件 │ │ __init__.py │ │ │ └─__pycache__ │ __init__.cpython-36.pyc │ └─__pycache__ settings.cpython-36.pyc __init__.cpython-36.pyc
5. 爬虫文件
# -*- coding: utf-8 -*- import scrapy class TestSpider(scrapy.Spider): name = ‘test‘ # 爬虫文件名称 allowed_domains = [‘www.baidu.com‘] # 允许爬取的域名 start_urls = [‘http://www.baidu.com/‘] # 起始URL列表 def parse(self, response): """ 用于解析请求后得到的数据 :param response: 服务器响应的数据 :return: item对象, 用于持久化存储 """ # response.text # 获取响应的字符串 # response.url # 请求的URL # response.xpath() # 使用xpath对数据进行解析 # response.meta # 用作请求传参, time_out, proxy等参数都会放在这里 pass
6. scrapy数据持久化
7. 启动爬虫程序
5. scrapy手动发送请求
6. scrapy运行流程(核心组件)
7. scrapy请求传参的用途
8. 如何提升scrapy的爬取效率
9. 基于UA池和ip代理池爬取数据
以上是关于scrapy框架的主要内容,如果未能解决你的问题,请参考以下文章