Scrapy安装
安装Scrapy有两种途径:
- 使用pip安装:
pip install Scrapy - 使用国内豆瓣安装:
pip install -i https://pypi.douban.com/simple/ scrapy
推荐使用第二种方式,安装速度很快。
Scrapy命令
在命令行中输入scrapy,会直接显示常用的命令:
1、scrapy startproject Demo(项目名):创建一个新的项目。
2、scrapy genspider name domain:name是爬虫的名字,domain是所爬取的网站名。
3、scrapy crawl <spider>:启动爬虫。
4、scrapy list:查看所有的爬虫。
5、scrapy fetch <url>:打印响应。
6、scrapy shell [url]:调试shell。
在后续的系统设计的时候回慢慢的使用到各种命令进行调试。
1、scrapy.cfg:项目的配置文件
2、Spider/spiders:爬虫代码文件
3、Spider/items.py:存储爬取到的数据的容器
4、Spider/pipeline.py:执行保存数据的操作
5、Spider/setting.py:项目的设置文件
6、Spider/middlewares.py:中间件
在写代码的时候需要修改每个文件的内容。
spider类
spider类,定义爬虫的方法和属性。下边列出常见的方法和属性:
类属性:
-
name:定义爬虫的名字,在项目中不能重复。 -
allowed_domains:允许爬取的域名。 -
start_urls:起始URL列表,允许有多个url地址。 -
custom_settings:spider的设置,会覆盖全局设置。 -
settings:运行爬虫的配置。 -
logger:制定爬虫创建的python logger name,可以用来发送日志消息。
类方法:
-
from_crawler(cls, crawler, *args, **kwargs):类方法,用来实例化对象,将它绑定到spider对象。 -
start_requsets(self):生成器,返回由URL构造的Request,作为入口,在爬虫运行的时候自动运行。 -
parse(self, reponse):解析函数,返回Item或Requests,一直循环到处理完所有的数据。 -
close(self, reason):爬虫关闭时自动运行。
Request对象
scrapy使用内置的scrapy.http.Request与Response对象去请求网络资源与响应的处理 ,常见的request对象参数列表:
-
url:请求页面的url地址 -
callback:回调函数,也就是页面解析函数 -
method:http请求的方法,默认’get’ -
headers:http请求的头部信息 -
body:http请求的正文 -
cookies:cookie -
encoding:编码,默认utf-8
Response对象
Response类用于http下载返回信息的类,它只是一个基类,他还有几个子类:
- TextResponse
- HtmlResponse
- XMLResponse
当一个页面下载完成,下载器根据http响应头部中的Content-Type字段创建某个Response子类对象。Response对象属性和方法:
-
url:响应的url字符串 -
status:响应的http状态码 -
body:响应的正文 -
request:返回请求此响应的Request对象 -
meta:元数据 -
copy():返回一个新的Response,它是此Response的副本
这就是爬虫的大概内容,后边的代码会在做毕业设计的过程中一步步的做完。