本文主要是介绍仿scrapy的爬虫框架 (python3.5以上模块化,需要支持async/await语法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
不知道是不是代码过多导致的,如果把代码放进code标签内提交以后直接进入500页面,所以就不贴代码了
传送门:https://github.com/zjl1110/WebCrawler
目录结构:
WebCrawler|----common(通用模块)
|----__init__.py
|----email_manager.py(邮件管理)
|----error_code.py(错误码管理)
|----html_manager.py(html页面的redis管理)
|----item_manager.py(模仿scrapy的Field等类)
|----log_manager.py(日志管理)
|----random_headers.py(headers管理)
|----redis_manager.py(redis管理)
|----request_common.py(request通用函数)
|----request_manager.py(request管理和response管理)
|----url_manager.py(url的redis管理)
|----spiders(爬虫实现)
|----__init__.py
|----xxx.py(爬虫例子)
|----items.py(模仿scrapy的items)
|----pipelines.py(模仿scrapy的Pipeline)
|----run.py(入口函数)
|----setting.py(配置文件)
python版本3.5或者以上(不然不支持async/await语法)
需要安装mongodb,redis
需要的第三方库
redis
aiohttp
lxml
pymongo
只需要在spiders下写爬虫,有点类似scrapy,因为格式是照着scrapy的格式仿写的
按照spiders下的例子仿写就可以了解大致用法
基本熟悉写法以后就可以专注写爬虫,周边模块已经写得差不多,利用redis模块也可以扩展成简单的分布式,因为只花了两天写的,还会碰到一些问题,可以交流,我在工作中碰到问题也会及时修改这里的代码,让代码的适应性更强一点,应用更广泛
这个算是一个爬虫框架吗?????
这篇关于仿scrapy的爬虫框架 (python3.5以上模块化,需要支持async/await语法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!