运用scrapy框架爬取数据的流程和组件Scrapy_redis分布式爬虫的应用

数据的流程
1.scrapy 初始的内容是添加在spiders内部的 他的初始值是通过两种方式获取的 GET :scrapy的默认方式 start_urls=”xxx” POST :注释掉start_urls 添加start_requests() 函数
2.spiders 把初始值传递给scheduler, scheduler 接受请求request 并存储
3.scheduler 发送请求 给downloader downloader 从网络中下载页面 其中concurrents_requests 是最大并发量 也指最大同事下载的页面数量
4.downloader获取到内容以response 返回值的形式传递给spider
5.downloader 在下载之情会经过download middleware 中间件 这个中间可可以添加headers 代理等
6.spiders 在获取到response 之后会定位想要的信息 并生成items 并yield item把其传递给pipline
7.在spiders 定位的信息是url 需要进一步解析的时间 就会再一次执行2-6
8.item 会被传递到item pipline 中 item pipline 会执行后续的操作 可能是存储 展示 等等
<一>
spider 的作用 输入值 输出值
作用:《1》start_urls start_requests 生成的地方
《2》downloader 传递给spiders 的response 的解析
《3》item 的生成
输入:
start_urls
start_requests
downloader 的response
输出:
request 给scheduler
item 给itempipline
<二>
scheduler
作用:存储requests
输入:request 是spiders pipline downloader
输出: url(requests) 输出的模块只有downloader
<三>
downloader
<1> 接收request,并根据request获取页面
<2>将response返回给spiders
输入:
request来源是scheduler
输出:
response 的接收方式spiders

猜你喜欢

转载自blog.csdn.net/chengjintao1121/article/details/82217882