码迷,mamicode.com
首页 > 其他好文 > 详细

scrapy框架

时间:2018-10-27 21:10:00      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:启用   函数   erro   start   with open   rap   led   获取   框架   

Scrapy 的运作流程:
代码写好,程序开始运行...
引擎:Hi!Spider, 你要处理哪一个网站?
Spider:老大要我处理 xxxx.com。
引擎:你把第一个需要处理的 URL 给我吧。
Spider:给你,第一个 URL 是 xxxxxxx.com。
引擎:Hi!调度器,我这有 request 请求你帮我排序入队一下。
调度器:好的,正在处理你等一下。
引擎:Hi!调度器,把你处理好的 request 请求给我。
调度器:给你,这是我处理好的 request
引擎:Hi!下载器,你按照老大的下载中间件的设置帮我下载一下这个 request 请求
下载器:好的!给你,这是下载好的东西。(如果失败:sorry,这个 request 下载失败
了。然后引擎告诉调度器,这个 request 下载失败了,你记录一下,我们待会儿再下载)
引擎:Hi!Spider,这是下载好的东西,并且已经按照老大的下载中间件处理过了,你
自己处理一下(注意!这儿 responses 默认是交给 def parse()这个函数处理的)
Spider:(处理完毕数据之后对于需要跟进的 URL),Hi!引擎,我这里有两个结果,
这个是我需要跟进的 URL,还有这个是我获取到的 Item 数据。
引擎:Hi !管道 我这儿有个 item 你帮我处理一下!调度器!这是需要跟进 URL 你帮
我处理下。然后从第四步开始循环,直到获取完老大需要全部信息。
管道``调度器:好的,现在就做!
注意 ! 只有当调度器中不存在任何 request 了 , 整个程序才会停止 , ( 也就是说 , 对于
下载失败的 URL ,Scrapy 也会重新下载。)

制做爬虫:

1,新建项目(scrapy startproject  项目名)

2,明确目标(编写items.py)明确你想要抓取的目标

3,制作爬虫(scrapy genspider 名称  网址)

4,存储内容(pipelines.py)设计管道存储爬去内容

建立爬虫之后要在setting里面设置一些参数

ROBOTSTXT_OBEY = False 这样设置,因为scrapy是默认遵守爬虫协议的,所以我们要把它设置为false
LOG_FILE=‘tencent.log‘#日志文件
LOG_ENABLED=True#默认启用日志

LOG_ENCODING=‘UTF-8‘#日志编码
LOG_LEVEL=‘DEBUG‘#日志等级 ERROR/WARNING/INFO/DEBUG


还有存储 的时候需要打开
ITEM_PIPELINES = {
‘DaZhong.pipelines.DazhongPipeline‘: 300,#这个是你对应爬虫 名字是跟你的爬虫名字对应
}

都设置完之后 可以现在 爬虫文件parse函数里面写下这些代码

with open(‘dazhong.html‘,‘w‘,encoding=‘utf-8‘)as fp:
fp.write(response.body.decode(‘utf-8‘))
然后运行项目 看会不会有保存的html文件

scrapy框架

标签:启用   函数   erro   start   with open   rap   led   获取   框架   

原文地址:https://www.cnblogs.com/wts-home/p/9863008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!