京東商品信息爬蟲

最近閑著在家無(wú)聊摇幻,就看看爬蟲的書籍颓芭,突然發(fā)現(xiàn)很有趣顷锰,就寫了許多代碼,爬取了許多的網(wǎng)站亡问,今天就分享爬取京東的源代碼官紫。

#京東商品信息爬蟲  
#爬取京東商品信息并保存到csv格式文件中  
#2017-7-23  
  
  
import os  
import requests  
import csv  
from bs4 import BeautifulSoup  
  
#獲取url請(qǐng)求  
def gethtml(kind,page):  
    '''''獲取url請(qǐng)求'''  
    pagenum = str(2 * page)  
    try:  
        r = requests.get('https://search.jd.com/Search?keyword=' + \  
        kind + '&enc=utf-8&page=' + pagenum)#鏈接url  
        r.raise_for_status()  
        r.encoding = r.apparent_encoding#轉(zhuǎn)碼  
        print('爬取第{}頁(yè):'.format(page))  
        return r.text#返回html  
    except:  
        print('鏈接異常!V菖骸束世!')  
        return ''  
  
#獲取定位資源  
def findhtml(html,httplist):  
    """尋找資源"""  
    soup = BeautifulSoup(html,'lxml')  
    links = soup.find_all('div', class_='gl-i-wrap')#尋找'div'標(biāo)簽  
    for link in links:  
        ui = []  
        namediv = link.find('div', class_='p-name p-name-type-2')#尋找商品名稱和鏈接  
        title = namediv.a['title']  
        href = namediv.a['href']  
        ui.append(title)#名稱加入到ui中  
        pricediv = link.find('div', class_='p-price')#尋找商品價(jià)格  
        try:  
            price =  pricediv.strong['data-price']   
            ui.append(price)#價(jià)格加入到ui中  
        except:  
            ui.append('')  
        if 'https:' not in href:#添加鏈接  
            ui.append('https:' + href)  
        else:  
            ui.append(href)  
        aggressmentdiv = link.find('div', class_='p-commit')#尋找評(píng)論  
        number = aggressmentdiv.strong.contents[1].string  
        ui.append(number)#評(píng)論數(shù)添加到ui中  
        httplist.append(ui)  
        try:  
            if price:  
                print('{:^10s}:{:<}元'.format(title,price))  
            else:  
                print('{:^10s}'.format(title))  
        except:  
            print('{:^10s}'.format(title))  
  
  
#保存資源  
def savehtml(ul):  
    path = 'D:/數(shù)據(jù)/'  
    if not os.path.exists(path):  
        os.mkdir(path)#創(chuàng)建一個(gè)文件  
    with open(path + '京東商品信息爬蟲.csv','w+') as f:  
        writer = csv.writer(f)  
        writer.writerow(['商品','價(jià)格','鏈接','評(píng)價(jià)數(shù)'])  
        for u in range(len(ul)):  
            if ul[u]:  
                writer.writerow([ul[u][0],ul[u][1],ul[u][2],ul[u][3]])  
  
  
  
#程序主體  
if __name__ == '__main__':  
    goods = input('請(qǐng)輸入要搜索的物品:')  
    yeshu = int(input('請(qǐng)輸入要查詢到的頁(yè)數(shù):'))  
    ulist = []  
    for i in range(yeshu+1):  
        try:  
            if i != 0:  
                text = gethtml(goods,i)  
                findhtml(text,ulist)  
            savehtml(ulist)  
        except:  
            break  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市床玻,隨后出現(xiàn)的幾起案子毁涉,更是在濱河造成了極大的恐慌,老刑警劉巖锈死,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贫堰,死亡現(xiàn)場(chǎng)離奇詭異穆壕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)其屏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門喇勋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人偎行,你說(shuō)我怎么就攤上這事川背。” “怎么了蛤袒?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵熄云,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我妙真,道長(zhǎng)皱碘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任隐孽,我火速辦了婚禮,結(jié)果婚禮上健蕊,老公的妹妹穿的比我還像新娘菱阵。我一直安慰自己,他們只是感情好缩功,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布晴及。 她就那樣靜靜地躺著,像睡著了一般嫡锌。 火紅的嫁衣襯著肌膚如雪虑稼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天势木,我揣著相機(jī)與錄音蛛倦,去河邊找鬼。 笑死啦桌,一個(gè)胖子當(dāng)著我的面吹牛溯壶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甫男,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼且改,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了板驳?” 一聲冷哼從身側(cè)響起又跛,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎若治,沒想到半個(gè)月后慨蓝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體感混,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年菌仁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浩习。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡济丘,死狀恐怖谱秽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摹迷,我是刑警寧澤疟赊,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站峡碉,受9級(jí)特大地震影響近哟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鲫寄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一吉执、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧地来,春花似錦戳玫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蜡秽,卻和暖如春府阀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芽突。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工试浙, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寞蚌。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓川队,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親睬澡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子固额,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,730評(píng)論 25 707
  • 爬蟲文章 in 簡(jiǎn)書程序員專題: like:128-Python 爬取落網(wǎng)音樂 like:127-【圖文詳解】py...
    喜歡吃栗子閱讀 21,742評(píng)論 4 412
  • 爬蟲文章 in 簡(jiǎn)書程序員專題: like:128 - Python 爬取落網(wǎng)音樂 like:127 - 【圖文詳...
    treelake閱讀 29,535評(píng)論 33 638
  • 應(yīng)護(hù)年少湛湛笑, 執(zhí)手欲留孤遺言煞聪。 夢(mèng)魂撕心淚涕零斗躏, 想是老來(lái)離別時(shí)。
    錦鯉小瑟閱讀 95評(píng)論 0 0
  • 教養(yǎng)是一個(gè)人的立世之本 三毛曾經(jīng)在《雨季不再來(lái)》說(shuō)過(guò)這樣一段話:這個(gè)世界上有教養(yǎng)的人在沒有相同教養(yǎng)的社會(huì)里昔脯,反而得...
    卷毛朵花閱讀 576評(píng)論 5 2