第一周實(shí)戰(zhàn)作業(yè):爬取一頁(yè)商品數(shù)據(jù)

爬蟲(chóng)實(shí)戰(zhàn)第三天

任務(wù)

爬取北京58同城二手平板交易頁(yè)面的數(shù)據(jù)詳情殊橙,包括標(biāo)題,價(jià)格买猖,地區(qū)等。

成果

共爬取1750個(gè)頁(yè)面的數(shù)據(jù)滋尉,并保存到.xls中玉控。


源碼

import requests
import time
from bs4 import BeautifulSoup

info = []
urls = ['http://bj.58.com/pbdn/0/pn{}/?PGTID=0d305a36-0000-1e57-ae30-de136659c08c&ClickID=2'.format(str(i)) for i in range(1, 51)]


def get_views(view_link):
    # wb_data.url == view_link
    wb_data = requests.get(view_link)
    # 如果鏈接用urllib.request中的urlopen解析,則wb_data不需要.text
    soup = BeautifulSoup(wb_data.text, 'lxml')
    # 58網(wǎng)站前三個(gè)加精的網(wǎng)頁(yè)與后面結(jié)構(gòu)有所不同狮惜,可以直接不管高诺,篩選規(guī)則按照后面網(wǎng)頁(yè)的寫(xiě)法
    # 嚴(yán)格來(lái)說(shuō)cate刪除換行符空格等處理最好用正則表達(dá)式,否則會(huì)漏掉不符合strip規(guī)則的頁(yè)面;;實(shí)際上完全取出來(lái)了讽挟,哈哈懒叛!
    data = {
        'cate': soup.find_all(attrs={'class': 'crb_i'})[-1].get_text().strip('\n\r\n\t        ').strip('\n'),
        'title': soup.select('body > div.content > div > div.box_left > div.info_lubotu.clearfix > div.box_left_top > h1')[0].get_text(),
        'price': soup.select('body > div.content > div > div.box_left > div.info_lubotu.clearfix > div.info_massege.left > div.price_li > span > i')[0].get_text(),
        'region': soup.select('body > div.content > div > div.box_left > div.info_lubotu.clearfix > div.info_massege.left > div.palce_li > span > i')[0].get_text(),
        'look_time': soup.select('body > div.content > div > div.box_left > div.info_lubotu.clearfix > div.box_left_top > p > span.look_time')[0].get_text()
    }
    print(data)
    info.append(data)


def get_links(start_link):
    wb_data = requests.get(start_link)
    soup = BeautifulSoup(wb_data.text, 'lxml')
    view_links = soup.select('#infolist > div.infocon > table > tbody > tr > td.t > a')
    return view_links

# 由于使用了try語(yǔ)句,因此不符合上述規(guī)則的網(wǎng)頁(yè)不會(huì)被爬取到耽梅,這是優(yōu)點(diǎn)也是缺點(diǎn)
for url in urls:
    view_links = get_links(url)
    for view_link in view_links:
        try:
            get_views(view_link['href'])
        except Exception as e:
            pass
    time.sleep(1)

with open('bj58.xls', 'w') as f:
    for i in info:
        for key in i:
            try:
                f.write(key)
                f.write('\t')
                f.write(i[key])
                f.write('\t')
            except Exception as e:
                break
        f.write('\n')

小結(jié)

  • 注意區(qū)分貌似同一樣式的頁(yè)面薛窥,如首頁(yè)前三個(gè)加精網(wǎng)頁(yè),網(wǎng)頁(yè)HTML結(jié)構(gòu)與后面其他網(wǎng)頁(yè)的結(jié)構(gòu)是不同的眼姐。
  • try...except語(yǔ)句對(duì)于爬蟲(chóng)錯(cuò)誤處理特別好使诅迷,不至于在某個(gè)網(wǎng)頁(yè)處理不成功時(shí)停止爬取。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末众旗,一起剝皮案震驚了整個(gè)濱河市罢杉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贡歧,老刑警劉巖滩租,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赋秀,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡律想,警方通過(guò)查閱死者的電腦和手機(jī)猎莲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)技即,“玉大人著洼,你說(shuō)我怎么就攤上這事《穑” “怎么了身笤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)葵陵。 經(jīng)常有香客問(wèn)我液荸,道長(zhǎng),這世上最難降的妖魔是什么脱篙? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任莹弊,我火速辦了婚禮,結(jié)果婚禮上涡尘,老公的妹妹穿的比我還像新娘。我一直安慰自己响迂,他們只是感情好考抄,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蔗彤,像睡著了一般川梅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上然遏,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天贫途,我揣著相機(jī)與錄音,去河邊找鬼待侵。 笑死丢早,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的秧倾。 我是一名探鬼主播怨酝,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼那先!你這毒婦竟也來(lái)了农猬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤售淡,失蹤者是張志新(化名)和其女友劉穎斤葱,沒(méi)想到半個(gè)月后慷垮,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揍堕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年料身,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹤啡。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惯驼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出递瑰,到底是詐尸還是另有隱情祟牲,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布抖部,位于F島的核電站说贝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏慎颗。R本人自食惡果不足惜乡恕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俯萎。 院中可真熱鬧傲宜,春花似錦、人聲如沸夫啊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撇眯。三九已至报嵌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熊榛,已是汗流浹背锚国。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玄坦,地道東北人血筑。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像煎楣,于是被迫代替她去往敵國(guó)和親云挟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容