一、如何爬取链家网页房源信息
生活随笔
收集整理的這篇文章主要介紹了
一、如何爬取链家网页房源信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
由于個人安裝的Python版本是2.7的,因此此后的相關代碼也是該版本。
- 爬取網頁所有信息
利用urllib2包來抓取網頁的信息,先介紹下urllib2包的urlopen函數。
urlopen:將網頁所有信息存到一個object里,我們可通過讀取這個object來獲得網頁信息。例如,我們使用它來獲取百度首頁信息如下。
通過上面的代碼我們讀取了百度首頁的前100個字符:
'<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charse'有時可能會出現編碼問題導致打開的是亂碼,只需修改下編碼格式即可:
f.read(100).decode('utf-8')通過這種方法我們可以獲得鏈家一個二手房首頁的信息:
import urllib2 url = 'http://sz.lianjia.com/ershoufang/pg' res = urllib2.urlopen(url) content = res.read().decode('utf-8')于是網頁信息便存在了content之中。
- 獲取房源信息
上面我們已經獲得了一整個的網頁信息,接下來需要獲取網頁中我們需要的有用信息,我們的目標是獲取房源信息,方法是利用正則表達式來獲取。關于正則表達式的知識可以參考一個網友的博文http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
首先,我們查看下網頁信息:
我們關注類似下面的這種信息
運行結果如下圖:
這樣就算是獲取了我想要的信息了,不過這個信息中間有個我們不想要的符號,接下來還需要去掉這個符號(可見這種方法比較繁瑣,效率也偏低)。
在這里我通過字符替換操作,用空字符來替換這個多余字符。
代碼為:
上面的方法雖然幫我們獲得了房源信息,但是方法還是有些繁瑣,而且效率也并不高
我們利用上面的方法來爬取鏈家二手房100個頁面房源信息,代碼修改如下:
主要是測試一下運行時間,測試結果大概是350s左右(當然,主要還受網速的影響,而對代碼本身來說消耗的大多數時間都在urlopen上),接下來,在下一篇中,將利用BeautifulSoup庫來實現房源的獲取。
總結
以上是生活随笔為你收集整理的一、如何爬取链家网页房源信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人工智能训练平台
- 下一篇: git remote 指定分支_git从