python網絡爬蟲技巧——以搜房網和58為例

編程語言 網絡爬蟲 Python 搜房網 數據分析師knight 2017-04-05

小夥伴們在工作當中,經常有獲取網絡數據的需求,例如人事看看新設的崗位市場價,或者寫報告需要添點料,這個時候去網上查複製粘貼顯得有些慢,寫爬蟲又不太會,這個時候python是個好選擇,簡單易懂好上手。

示例1:房天下二手房爬蟲

使用requests獲取每一個url的內容,十分簡潔。其中header是模仿瀏覽器訪問,因為好多網站是限制非瀏覽器訪問行為的,所以我們隨機使用一些瀏覽器信息:

python網絡爬蟲技巧——以搜房網和58為例

引用庫,及瀏覽器信息

下面是通過beautifulsoup解析網頁:

python網絡爬蟲技巧——以搜房網和58為例

python網絡爬蟲技巧——以搜房網和58為例

python網絡爬蟲技巧——以搜房網和58為例

python網絡爬蟲技巧——以搜房網和58為例

使用beautifulsoup解析每一頁數據,獲取所需字段請點擊此處輸入圖片描述

上面是爬蟲的主要部分,解析二手房列表的每一頁數據,並保存到csv文件。循環抓取每一頁需要找一下url的規律,如房天下的:

python網絡爬蟲技巧——以搜房網和58為例

循環抓取各區域二手房信息

其中,area是個數字,帶別了區域,i是頁碼,觀察發現是從31開始的。

還有就是,存入的csv由於編碼問題直接用excel打開會存在亂碼,可以導入access或mysql數據庫再導出excel,或者用python的SQLite、mysql.connector模塊存入數據庫。

示例2:58同城二手房爬蟲

python網絡爬蟲技巧——以搜房網和58為例

python網絡爬蟲技巧——以搜房網和58為例

python網絡爬蟲技巧——以搜房網和58為例

使用beautifulsoup解析每一頁數據,獲取所需字段

上面是58二手房爬蟲的核心部分,解析每一頁的二手房列表。對於url的解析和循環抓取與房天下相似:python網絡爬蟲技巧——以搜房網和58為例

循環抓取各區域二手房信息

從上面不難發現,其實寫小爬蟲,大部分工作需要解析html的結構,瞭解怎樣提取需要的信息。通過標籤或者正則表達式,只要能夠確定內容所在的節點就可以。可以用Chrome的開發者調試工具試試。

如果是小批量的數據抓取,這兩個小程序完全夠用;但網站一般有反爬蟲措施,如果數據量比較大的話還要考慮IP代理等問題,這個我們以後再談。

下一篇我們將分享如何通過微博開放平臺獲取微博簽到數據。

相關推薦

推薦中...