scrapy微信爬蟲使用總結


scrapy+selenium+Chrome+微信公眾號爬蟲

概述

1、微信公眾號爬蟲思路:

參考:記一次微信公眾號爬蟲的經歷

2、scrapy框架圖

scrapy整體框架圖scrapy架構圖

3、scrapy經典教程

參考:

4、其它

參考:

 

實踐

1、環境的安裝

  • selenium安裝(pip install selenium)
  • chromedriver安裝(注意與chrome版本兼容問題)
  • beautifulsoup4
  • scrapy
  • MongoDB、pymongo

MongoDB:

mongodb的安裝與啟動

MongoDB數據的導入與導出

具體命令如下:

python連接MongoDB,需安裝pip install mongoengine

啟動:

sudo ./mongod --port 27017 dbpath "/software/mongodb-4.0.0/data/db"  --logpath "/software/mongodb-4.0.0/log/mongodb.log" --logappend   --replSet rs0

Windows下MongoDB數據導出:

mongodump --port 27017 -d wechat -o D:\MongoDB

Linux下MongoDB數據導入:

./mongorestore -h 127.0.0.1 --port 27017 -d wechat --drop /software/mongodb-4.0.0/wechat

 

數據導入時注意:

Do you run mongo in replica set, i.e., mongod --replSet rs0?

If yes, please remember to run in your mongo shell the command: rs.initiate()

 

 

參考:

Python3網絡爬蟲開發實戰教程

 

2、cookie獲取

selenium進行登錄驗證,保存cookies,為scrapy做准備。

參考:selenium使用cookie實現免登錄

3、爬蟲

  1. cookies:scrapy spider初始化函數調用Chromedriver,並獲取cookies
  2. 定位:spider初始化函數利用Chromedriver定位到需要抓取的頁面
  3. 解析:parse函數處理Chromedriver自動定scrapy爬蟲利用selenium實現用戶登錄和cookie傳遞位的頁面信息,以及下一頁URL
  4. 保存:scrapy配置MongoDB保存數據

參考:

scrapy爬蟲利用selenium實現用戶登錄和cookie傳遞

zhihu-scrapy-spider

AlipayQR.py

XMQ-BackUp

4、django調用爬蟲

5、django構建搜索引擎,搜索爬過的信息

參考:

Python分布式爬蟲打造搜索引擎代碼+教程

 環境配置:

elasticsearch-rtf安裝、pip install mongo-connector、pip install mongo-connector[elastic5]、pip install elastic2-doc-manager

MongoDB數據同步到elasticsearch:

mongo-connector -m localhost:27017 -t localhost:9200 -d elastic2_doc_manager

 

其它問題

1、selenium在新頁面定位元素問題

參考:

解決Selenium彈出新頁面無法定位元素問題(Unable to locate element)

Selenium Webdriver元素定位的八種常用方式

2、pymongo 連接MongoDB的幾種方式

3、在管道中關閉爬蟲

spider.crawler.engine.close_spider(spider, 'bandwidth_exceeded')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM