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
:cookieencoding
:编码,默认utf-8
Response对象
Response类用于http下载返回信息的类,它只是一个基类,他还有几个子类:
- TextResponse
- HtmlResponse
- XMLResponse
当一个页面下载完成,下载器根据http响应头部中的Content-Type字段创建某个Response子类对象。Response对象属性和方法:
url
:响应的url字符串status
:响应的http状态码body
:响应的正文request
:返回请求此响应的Request对象meta
:元数据copy()
:返回一个新的Response,它是此Response的副本
这就是爬虫的大概内容,后边的代码会在做毕业设计的过程中一步步的做完。