Python爬蟲實戰(2):爬取京東商品列表


1,引言

在上一篇Python爬蟲實戰:爬取Drupal論壇帖子列表》,爬取了一個用Drupal做的論壇,是靜態頁面,抓取比較容易,即使直接解析html源文件都可以抓取到需要的內容。相反,JavaScript實現的動態網頁內容,無法從html源代碼抓取需要的內容,必須先執行JavaScript。


我們在《
Python爬蟲使用Selenium+PhantomJS抓取Ajax和動態HTML內容》一文已經成功檢驗了動態網頁內容的抓取方法,
本文將實驗程序進行改寫,使用開源Python爬蟲規定的標准python內容提取器,把代碼變得非常簡潔。

2,技術要點


我們在多個文章說過本開源爬蟲的目的:節省程序員的時間。關鍵是省去編寫提取規則的時間,尤其調試規則很花時間,節省時間問題在《1分鍾快速生成用於網頁內容提取的xslt
》一文已經有了解決方案,本文我們用京東網站作為測試目標,而電商網站都有很多動態內容,比如,產品價格和評論數等等,往往采用后加載的方式,在html源文檔加載完成以后再執行javascript代碼把動態內容填寫上,所以,本案例主要驗證動態內容的抓取。

另外,本文案例沒有使用GooSeeker爬蟲API,而是把MS謀數台生成的xslt腳本程序保存在本地文件中,在程序運行的時候把文件讀出來注入到gsExtractor提取器。后續會有專門的案例演示 API的使用方法。


總之,本示例兩個技術要點總結如下:

  • 從本地文件讀取xlst程序
  • 把xlst注入到提取器gsExtractor中,利用xslt從網頁上一次提取性多個字段內容。


3,python源代碼

源代碼下載位置請看文章末尾的GitHub源。

4,抓取結果


運行上面的代碼,就會爬取京東手機品類頁面的所有手機型號、價格等信息,並保存到本地文件“京東手機列表_1.xml”中。我們用瀏覽器打開這個結果文件,會看到如下的內容。


5,相關文檔

1, Python即時網絡爬蟲項目: 內容提取器的定義

6,集搜客GooSeeker開源代碼下載源
1, GooSeeker開源Python網絡爬蟲GitHub源

7,文檔修改歷史
1,
2016-06-11:V1.0


免責聲明!

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



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