scrapy微信爬蟲使用總結

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

概述

一、微信公衆號爬蟲思路:html

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

二、scrapy框架圖git

scrapy總體框架圖scrapy架構圖

三、scrapy經典教程github

參考:mongodb

四、其它chrome

參考:shell

 

實踐

一、環境的安裝django

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

MongoDB:微信

mongodb的安裝與啓動cookie

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網絡爬蟲開發實戰教程

 

二、cookie獲取

selenium進行登陸驗證,保存cookies,爲scrapy作準備。

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

三、爬蟲

  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

四、django調用爬蟲

五、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

 

其它問題

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

參考:

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

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

二、pymongo 鏈接MongoDB的幾種方式

三、在管道中關閉爬蟲

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

相關文章
相關標籤/搜索