網(wǎng)站爬蟲怎么爬取多個(gè)網(wǎng)站文章標(biāo)題列表?
網(wǎng)友解答: 謝謝邀請(qǐng),網(wǎng)絡(luò)爬蟲如何處理這個(gè),其實(shí)是數(shù)據(jù)提取的那一步驟,首先我們要清楚知道網(wǎng)頁的頁面結(jié)構(gòu),這是根本,因?yàn)榫W(wǎng)頁是一個(gè)樹形結(jié)構(gòu),是有層次的。不然,我們是很難提取到我們想要的數(shù)據(jù)
謝謝邀請(qǐng),網(wǎng)絡(luò)爬蟲如何處理這個(gè),其實(shí)是數(shù)據(jù)提取的那一步驟,首先我們要清楚知道網(wǎng)頁的頁面結(jié)構(gòu),這是根本,因?yàn)榫W(wǎng)頁是一個(gè)樹形結(jié)構(gòu),是有層次的。不然,我們是很難提取到我們想要的數(shù)據(jù),所以,心中要有這樣一個(gè)概念:網(wǎng)頁是結(jié)構(gòu)分層分明的樹形文檔。
在這里我以搜房網(wǎng)為例:http://esf.nb.fang.com/housing/,這個(gè)頁面,是一個(gè)小區(qū)的List頁面,我們現(xiàn)在要提取其中的小區(qū)名稱和URL。
首先,查看頁面的結(jié)構(gòu)點(diǎn)擊右鍵,選擇查看選擇,得到如下這樣一個(gè)頁面。因?yàn)槭且粋€(gè)List,所以有很多個(gè)小區(qū),這些小區(qū)的信息應(yīng)該是在一個(gè)div樣式下面的。在這里我們看到這樣一行<div class="houselist",這個(gè)就是我們要找的根div。
解析出我們想要的內(nèi)容-小區(qū)名稱、頁面URL我們就可以使用xpath提取頁面中的內(nèi)容,在這里我們就可以這樣描述:
selectore_list = response.xpath('//div[@class="houseList"]/*/dl/dd/a[@class="plotTit"]')
這樣的話是提取的整個(gè)頁面的列表,我們還需要通過循環(huán)把每個(gè)小區(qū)的標(biāo)題和頁面URL取出來,我們可以這樣寫:
for li in selector_list: title = li.xpath('./@href').extract()[0] urls = li.xpath('./text()').extract()[0]
這樣的話里面的標(biāo)題和頁面url都提取出來的。關(guān)于xpath如何使用,可以查詢相關(guān)的課程學(xué)習(xí)。
以上就是整個(gè)提取過程,我的理解是只要熟悉頁面的結(jié)構(gòu),然后對(duì)xpath的掌握,提取標(biāo)題、爬取頁面后的數(shù)據(jù)提取都是比較簡單的一件事,希望對(duì)你有幫助。歡迎大家留言討論。