快一年沒更新博客了,現(xiàn)在總結(jié)一下這大半年來研究、學(xué)習(xí)的知識(shí),博客陸續(xù)更新中。。。

這個(gè)爬蟲項(xiàng)目是去年4、5月份做的,主要技術(shù)是BeautifulSoup、select、requests、MongoDB、highchart

首先,我們登陸趕集網(wǎng)可以看到二手商品信息的首頁,即爬蟲的起始url是:http://sh.ganji.com/wu/,分析網(wǎng)頁結(jié)構(gòu)可以看到二手商品信息分類中有:手機(jī)、手機(jī)配件、手機(jī)號(hào)碼、筆記本電腦、臺(tái)式機(jī)等20多個(gè)商品分類子頻道,分別打開每個(gè)子頻道的url,可以看到對(duì)應(yīng)的二手商品列表,每個(gè)二手商品列表中的url對(duì)應(yīng)一個(gè)詳細(xì)頁面,我們要獲取的就是每個(gè)詳細(xì)頁面上的信息。

首先,我們定義 headers 部分,headers 包含 User-Agent、Cookie、Referer等信息,這是為了偽裝成瀏覽器的形式,以應(yīng)對(duì)反爬蟲措施。

requests.get解析url:

wb_data = requests.get(url, headers=headers)

BeautifulSoup的lxml解析文本:

soup = BeautifulSoup(wb_data.text, 'lxml')

 關(guān)于BeautifulSoup中的各種html解析器,我做了一個(gè)小的研究,html.parser:這是python自帶的,速度上當(dāng)然是沒問題的,但是兼容性不好, python2.7.3以前的版本不兼容;lxml:解析速度很快、兼容性好,但是正因?yàn)槠浣馕鏊俣瓤?,有時(shí)會(huì)出現(xiàn)解析不到數(shù)據(jù)的情況;html5lib:兼容性非常好,解析成功率非常高(有時(shí)用lxml解析不到時(shí),用html5lib卻能解析到),但是速度非常慢;綜合這三種html解析器,我覺得lxml是最為折中的。

select選擇器定位文本:

links = soup.select('div.main-pop  dl dt a')

獲取詳細(xì)信息:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式