抓包分析、多線程爬蟲及xpath學習

一、抓包分析html

1.1 Fiddler安裝及基本操做微信

  因爲不少網站採用的是HTTPS協議,而fiddler默認不支持HTTPS,先經過設置使fiddler能抓取HTTPS網站,過程可參考(https://www.cnblogs.com/liulinghua90/p/9109282.html)。使用clear能夠將當前fiddler清屏。多線程

1.2 經過抓包爬取騰訊視頻評論scrapy

  unicode轉碼:在Python中轉碼能夠直接輸入u'須要轉碼的內容'ide

  因爲每一個視頻後面的評論須要自動加載,在源代碼中未發現有關評論的相關連接,此時就須要使用fiddler進行抓包分析,打開視頻網站後,能夠先使用clear清屏,找到JS包,能夠複製它的url,打開後發現評論都是使用的Unicode編碼,此時就須要解碼。因爲須要自動加載後面的評論,此時須要分析網頁的構成。再使用一次clear,在網頁上點擊加載更多評論,在fiddler中找到JS包,複製url,將之與以前的url進行對比,重複幾回該操做,構造評論url。網站

  下面給出爬取騰訊視頻中權力的遊戲第八季評論:編碼

1.3 微信文章爬取url

  進入weixin.sougou.com,搜索關鍵詞爲「Python」,也採起抓包分析,不過增長了代理,其他操做步驟與1.2相似。命令行

 

二、多線程爬蟲線程

  多線程,即程序中的某些程序段並行執行,合理地設置多線程,可讓爬蟲的效率更高。

 

  運行以後的結果爲:

  能夠看出兩個線程是同時開始工做的,那麼若是用多線程爬取多個網頁的話,就能夠更加高效。下面將用多線程爬取糗事百科的文字內容:

  首先須要分析網頁的構造,經過翻頁將規律找出來,實如今程序中實現自動翻頁加載文本,其次須要將內容解碼輸出,最後須要加上異常處理。

 

三、scrapy xpath

  /標籤名:從頂端開始,如/html從頂端開始尋找html這個標籤,找到的是這個標籤內的內容

  //標籤名:尋找全部該標籤

  text():提取文本信息

  @屬性:提取屬性信息

  

  命令行輸入:scrapy startproject 爬蟲名,表示新建一個爬蟲;若是新建一個自動爬蟲,則先輸入:scrapy startproject 爬蟲名,再輸入:scrapy genspider -t crawl 爬蟲名 網址 

  items.py主要用來設置爬取的目標

  pipelines.py設置後續的處理

  settings.py主要用於配置信息

相關文章
相關標籤/搜索