不知道是不是代碼過多導致的,如果把代碼放進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模塊也可以擴展成簡單的分佈式,因爲只花了兩天寫的,還會碰到一些問題,可以交流,我在工作中碰到問題也會及時修改這裏的代碼,讓代碼的適應性更強一點,應用更廣泛
這個算是一個爬蟲框架嗎?????