安装 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 的副本
这就是爬虫的大概内容, 后边的代码会在做毕业设计的过程中一步步的做完.
来源: http://www.bubuko.com/infodetail-3458957.html