Scrapy 分佈式數據採集方案

 

運行環境 CentOS7.3 + Python2.7 + Scrapy1.4 + MongoDB3.4  + BeautifulSoup4.6
編程工具 PyCharm + Robomongo + Xshell

請確保你的 python版本爲2.7.5以上 版本
強烈推薦直接【翻 牆 安 裝】,簡單輕鬆
yum install gcc libffi-devel python-devel openssl-devel
pip install scrapy

若是提示如下錯誤
AttributeError: 'module' object has no attribute 'OP_NO_TLSv1_1'
說明你的 Twisted 版本太高,請執行
pip install Twisted==16.4.1

而後再安裝如下內容
pip install scrapyd
pip install scrapy-mongodb
pip install beautifulsoup4
pip install scrapy-redis
pip install pymongo pip
install scrapyd-client pip install Pillow pip install python-scrapyd-api # windows下安裝方法也是同樣的,推薦順手安裝一下windows版本,這樣在 IDE(PyCharm)下可以獲得Scrapy的代碼提示,並且不會報 類不存在 的錯誤 而後執行 scrapy startproject fusnion 就能夠建立一個名爲 funsion 的項目 附錄A:Scrapy Shell 調試 Linux 命令行下輸入(以本站點爲例) scrapy shell 'http://www.cnblogs.com/funsion/' 進入交互式shell,輸入如下內容 >>> from bs4 import BeautifulSoup >>> soup = BeautifulSoup(response.body, 'html.parser') >>> print soup.title 若是能輸出 <title>Funsion Wu - 博客園</title> 則表明成功 附錄B:參考文檔 Scrapy 中文文檔 http://scrapy-chs.readthedocs.org/zh_CN/latest/index.html 參考文檔 https://piaosanlang.gitbooks.io/spiders/01day/README1.html Scrapyd 文檔 http://scrapyd.readthedocs.io/en/stable/ BeautifulSoup 中文手冊 http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html Scrapy-Redis 文檔 http://scrapy-redis.readthedocs.io/en/stable/ Scrapy-Mongodb 文檔 https://github.com/sebdah/scrapy-mongodb Pillow 文檔 http://pillow.readthedocs.io/en/latest/index.html Python-Scrapyd-Api 文檔 http://python-scrapyd-api.readthedocs.io/en/latest/ 參考文檔 http://www.pastandnow.com/2015/11/16/Use-Scrapyd-client-Deploy-Spider/ 附錄C:mongodb安裝方法 下載文件 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.6.tgz tar zxf mongodb-linux-x86_64-rhel70-3.4.6.tgz cd mongodb-linux-x86_64-rhel70-3.4.6/ mkdir -p /data/{mongodb_data,mongodb_log} ln -s /usr/local/src/mongodb-linux-x86_64-rhel70-3.4.6/bin/mongo /usr/local/bin/ nohup /usr/local/src/mongodb-linux-x86_64-rhel70-3.4.6/bin/mongod --dbpath=/data/mongodb_data --logpath=/data/mongodb_log/mongodb.log --logappend --fork > /dev/null 2>&1 & 編輯/etc/rc.local,加入下述代碼而後再保存便可。 nohup /usr/local/src/mongodb-linux-x86_64-rhel70-3.4.6/bin/mongod --dbpath=/data/mongodb_data --logpath=/data/mongodb_log/mongodb.log --logappend --fork > /dev/null 2>&1 & 附錄D:Scrapy代理解決方案 https://github.com/TeamHG-Memex/scrapy-rotating-proxies https://github.com/luyishisi/Anti-Anti-Spider (防採集策略) http://www.cnblogs.com/kylinlin/p/5242266.html (Scrapy+Tor防採集) 附錄E:Scrapy-Demo地址 https://gitee.com/funsion_wu/demo/tree/master/scrapy

 

 

 

Scrapy架構圖html

 

 

Scrapy-Redis架構圖python

相關文章
相關標籤/搜索