pyspider基本使用和專案刪除
PySpider:一個國人編寫的強大的網路爬蟲系統並帶有強大的WebUI。採用Python語言編寫,分散式架構,支援多種資料庫後端,強大的WebUI支援指令碼編輯器,任務監視器,專案管理器以及結果檢視器。
一: 在cmd中使用pysider all啟動pyspider及其組
二:輸入連結http://localhost:5000,進入pyspider dashboard面板
三:建立專案,點create會出現create new project對話方塊,第一行是專案名字,第二行是開始的url地址(以去哪兒網站為例),填寫完成點選creat。
四:出現pyspider的專案編輯和調式頁面
左側是上側run按鈕是單步調式爬蟲,下冊是5個點選按鈕(下面會使用到)。
右側是pyspider自動生成的一段程式碼
handler是爬蟲的主類,包括爬取定義儲存,基本可以在這個handler可以完成
crawl_config屬性是可以將所有爬取的配置統一定義到這裡。包括headers、設定代理等。
On_start()是爬取入口,方法內包括你要爬取的url,和callback引數,這個引數指定了這個頁面爬取成功後用哪個方法進行解析,這裡使用index_page(),如何在on_start爬取成功,生成的response機會通過callback交給inde_page()
Index_page()接受了上面的response引數,就可以對接pyquery,我們直接就可以doc()中的方法傳入css選擇器,這樣就解析網頁了,也就是doc內容進行改換和遍歷。
Index_page()裡面的callback同上一樣進行對接解析方法:detail_page()。
五:首先點選run,此時在follows位置會發生變化
點選follows以後頁面會出現連結,點選url三角連結
生成同類型的更多url
我這邊在右側進行了程式碼修改和新增,所以follows是11個,沒有改動右側的程式碼自動生成應該在200多個follows。
點選html可以看到網頁原始碼
點選web就可以看到qunaer的頁面
點選了web停留可以通過上下滾動看網頁
六:點選enable css seletor helper,會在去哪兒的網頁上面形成
點選網頁裡面的標題
生成了li.tit a的物件
點選右側覆蓋doc()裡面的內容接著點選
就會將doc()內容進行變化
就會發現follows發生的變化,有11個。
點選其中一個網址,查詢html可以發現其中沒有img,web頁面也只有文字沒有圖片。
pyspider對接了phantomjs,只需要修改一個引數就可以對接了。
加入fetch_type='js'
重新再次點選run,再去觀察web和html就可以發現圖片和img節點了。
最後我們需要提取作者、標題等,所以修改detail_page()方法中的內容
再次回到pyspider dashboard面板可見
專案如何刪除
將專案名字(group)改成delete,將狀態(status)改成stop,24小時之後自動刪除。