知乎爬蟲(scrapy預設配置下單機1小時可爬取60多萬條資料)
前言:
學了爬蟲差不多快一年了,然而由於專案原因,這還是第一次發爬蟲的部落格,在學習的過程中,受益最大的就是看了九茶的微博爬蟲吧,所以在這裡特別鳴謝。 他的程式碼裡涉及了很多:自動化技術、模擬登入、分散式、redis、mongodb等都有涉及,而且還講了程式碼的可複用性,深受啟發。 不過,對於爬蟲的知識塊兒來講,還沒涉及抓包(因為個人覺得,如果只抓取json資料的話,會比抓取普通網頁速度來得快得多)、以及自動更換IP技術,於是在這裡寫一個知乎爬蟲的部落格,這篇部落格裡,除了九茶的微博爬蟲所涉及的知識以外,還有抓包、以及更換ip技術,歡迎大家提問,互相學習。
環境:
Ubuntu16.04
Python環境是ubuntu自帶的python3.5.2
需要安裝的軟體Redis, MongoDB, Phantomjs;
需要安裝的python模組:scrapy, scrapy-redis, selenium
電腦是用的小米筆記本4999元的那個版本,如果是桌上型電腦的話速度應該會更快。(ps:如果想更快,
Authorization可以通過訪問任意一個使用者頁面在請求json資料鏈接中的header中獲取,建議通過模擬瀏覽器的方式獲取,不過如果登陸了就不需要了,故程式碼中沒有獲取Authorization。