Python做網路爬蟲其實是很方便的一件事,下面先貼出一段代碼,使用其中的網址和設定可以直接得到一些資料:
編程環境:Sublime Text
<span style="font-size:18px;"># 匯入需要用到的包,記得先安裝BeautifulSoupfrom bs4 import BeautifulSoupimport urllib2# 你需要扒資料的網站網址,timeout是溢出時間,即在timeout時間之內無法得到需要的資料就退出,屬於保護措施pagesource = urllib2.urlopen("http://www.ly.com/scenery/",timeout=8)# 讀取網站的資料sourceData = pagesource.read()siteSoup = BeautifulSoup(sourceData,"html.parser")# 資料所屬的類selectkeys = siteSoup.find_all("div",attrs={"class":"s_com_detail"})selectkeyz = siteSoup.find_all("span",attrs={"class":"s_dis"})# 輸出格式,第一個表示同時輸出多個資料,第二個表示只輸出一組資料,其中某些語句是調整格式的for plink in selectkeys:print "%s,%s,%s"% (plink.find_all("p")[0].find(text=True),plink.find_all("i")[0].find(text=True),plink.find_all("b")[0].find(text=True))for blink in selectkeyz:print blink.find(text=True)</span>
如果想扒不同網站的資料,程式中需要修改的幾處如下:
操作步驟如下:
第一步:首先獲得目標網址,開啟你要的網站直接複製網址,放在程式裡面方框1處
第二部:在網站頁面上 右鍵—檢查即可開啟下面這個介面
右邊即網頁源碼,我們要從這些源碼中找資料
第三步:定位我們要下載的資料:
點擊這個按鈕:
滑鼠點一下你想下載的資料選中:
此時網頁源碼就定位在這個資料處了:
第四步:尋找資料所屬的類class
沿著定位的源碼往上找,第一個class就是這個資料所屬的類
class前後的div和detail分別對應程式裡面class前後的內容
第五步:找這個資料對應的唯一標識
圖中我們定位的資料處(即109)前後分別有<b>和</b>,所以b就是這個資料對應的唯一標識,這些網頁源碼中所有資料這類資料(價格)的標識都是b,對應程式中最後紅框裡面的內容。
至此,程式就完成了,如有不清楚的地方,歡迎指正