点击头像看历史
xcrawler 是最开始构建的一个轻量级的爬虫框架
既然有了像 Scrapy 这样好的爬虫框架,那为何还要造轮子呢?
嗯是将 Python 知识综合起来
xcrawler
https://github.com/ChrisLeeGit/xcrawler
Scrapy
https://github.com/scrapy
Features
简单、易用
易于定制的 Spider
多线程实现并发下载
xcrawler 介绍
项目的结构
框架
Crawler engine (生产者+消费者模型)
配置介绍
Spider 基类关键方法介绍
1spider_started
:该方法会在引擎启动时被触发调用,你可以通过继承该方法进行一些初始化工作,比如配置 pipeline 输出文件或者数据库连接等等;
2spider_idle
:该方法会在引擎处理空闲状态(即没有任何 requests 在队列)时被触发调用,你可以通过继承该方法给引擎添加新的请求等(使用3self.crawler.crawl(new_request, spider=self)
即可);
spider_stopped
:该方法会在引擎关闭时触发调用,你可以通过继承该方法并在 Spider 结束工作前做一些清理工作,如关闭文件管道、关闭数据库连接等;
4start_requests
:该方法会为引擎提该 Spider 的对应种子请求;
5make_requests_from_url
:该方法会为你的 URL 创建一个 Request 对象;
6parse
:该方法为请求的默认解析函数回调,当然你可以可以在创建 Request 时指定其它的回调函数;
7process_request
:每当引擎处理一个 Spider 对应的请求时,该方法会被触发调用,你可以通过继承该方法对 request 做些设置,比如更换随机的 User-Agent,替换 Cookies 或者代理等;当然,你可以将 request 设置为 None 从而忽略该请求;
8proccess_response
:每当引擎处理一个 Spider 对应的响应时,该方法会被触发调用;
9process_item
:每当引擎处理一个 Spider 对应的 item 时,该方法会被触发调用,你可以通过继承该方法将抓取并解析到的 item 存储到数据库或者本地文件中。
安装
在xcrawler (https://github.com/chrisleegit/xcrawler) 下载源码
请保证你的安装环境为
Python 3.4+
请使用
pip3 setup.py install
安装即可。
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群
626062078,我们一起学Python!
示例
声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者众趣平面设计所有,原文出处。若您的权利被侵害,请联系删除。
本文标题:(爬虫框架)(爬虫框架编程)
本文链接:https://www.51qsb.cn/article/m8mad.html