爬蟲之爬取大眾點評南京美食

大眾點評網(wǎng)有許多美食舌界,可以直接通過requests和Beautiful Soup進(jìn)行爬取赋元,其他就不說了忘蟹,上代碼。

import requests  
from bs4 import BeautifulSoup  
import csv  
import os  
  
  
# 鏈接url  
def gethtml(num):  
    try:  
        number = num + 1  
        print('{:<2d}{:<}{:<}'.format(number,'頁',':'))#打印正在爬取的頁數(shù)  
        url = 'https://www.dianping.com/search/category/5/10/p' + str(num)  
        r = requests.get(url)  
        r.raise_for_status()  
        r.encoding = 'utf-8'#轉(zhuǎn)碼  
        return r.text  
    except Exception as e:  
        print(e)  
        return ''  
  
  
# 爬取資源  
def findhtml(text, ul):  
    soup = BeautifulSoup(text, 'lxml')  
    links = soup.find_all('li', class_='')  
    for link in links:  
        ui = []  
        if link.h4 != None:#爬取店鋪名  
            ui.append(link.h4.string)  
            print('{:^50s}'.format(link.h4.string))#打印店鋪名  
            a1 = link.find('a', class_='review-num')#爬取點評數(shù)  
            if a1:  
                ui.append(a1.b.string)  
            else:  
                ui.append(' ')  
            a2 = link.find('a', class_='mean-price')#爬取花費  
            try:  
                if a2:  
                    ui.append(a2.b.string)  
                else:  
                    ui.append(' ')  
            except:  
                ui.append('')  
            a3 = link.find('a', {'data-midas-extends': 'module=5_ad_kwcat'})#爬取菜系  
            if a3:  
                ui.append(a3.string)  
            else:  
                ui.append(' ')  
            a4 = link.find('a', {'data-midas-extends': 'module=5_ad_kwregion'})#爬取口味搁凸,環(huán)境媚值,服務(wù)  
            span1 = link.find('span', {'class': 'addr'})  
            if a4 and span1:  
                ui.append(a4.string + ' ' + span1.string)  
            elif a4 == None and span1 != None:  
                ui.append(span1.string)  
            elif a4 != None and span1 == None:  
                ui.append(a4.string)  
            else:  
                ui.append(' ')  
            try:  
                spans = link.find('span', class_='comment-list')  
                spanss = spans.contents  
                ui.append(spanss[1].b.string)  
                ui.append(spanss[3].b.string)  
                ui.append(spanss[5].b.string)  
            except:  
                ui.append('')  
                ui.append('')  
                ui.append('')  
        ul.append(ui)  
  
  
# 保存資源  
def savehtml(uls):  
    path = 'D:/數(shù)據(jù)/'  
    if not os.path.exists(path):  
        os.makedirs(path)  
    with open(os.path.join(path, '大眾點評南京美食.csv'),'w+') as f:  
        writer = csv.writer(f)  
        writer.writerow(['店名', '點評數(shù)', '花費', '菜系', '地點', '口味', '環(huán)境', '服務(wù)'])  
        for i in range(len(uls)):  
            try:  
                if uls[i]:  
                    writer.writerow(  
                        [uls[i][0], uls[i][1], uls[i][2], uls[i][3], uls[i][4], uls[i][5], uls[i][6], uls[i][7]])#寫入csv文件  
            except:  
                continue  
                      
  
  
# main()  
def main(i):  
    ulist = []  
    it = int(i)  
    for number in range(it):  
        html = gethtml(number)  
        findhtml(html, ulist)  
  
    savehtml(ulist)  
  
yeshu = input('輸入要查詢的總頁數(shù)(1~50):')  
main(yeshu)  

感興趣的童鞋可以試試爬取你們地方的美食!;ぬ恰杂腰!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市椅文,隨后出現(xiàn)的幾起案子喂很,更是在濱河造成了極大的恐慌,老刑警劉巖皆刺,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件少辣,死亡現(xiàn)場離奇詭異,居然都是意外死亡羡蛾,警方通過查閱死者的電腦和手機(jī)漓帅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來痴怨,“玉大人忙干,你說我怎么就攤上這事±嗽澹” “怎么了捐迫?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長爱葵。 經(jīng)常有香客問我施戴,道長,這世上最難降的妖魔是什么萌丈? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任赞哗,我火速辦了婚禮,結(jié)果婚禮上辆雾,老公的妹妹穿的比我還像新娘肪笋。我一直安慰自己,他們只是感情好度迂,可當(dāng)我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布藤乙。 她就那樣靜靜地躺著,像睡著了一般英岭。 火紅的嫁衣襯著肌膚如雪湾盒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天诅妹,我揣著相機(jī)與錄音罚勾,去河邊找鬼。 笑死吭狡,一個胖子當(dāng)著我的面吹牛尖殃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播划煮,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼送丰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了弛秋?” 一聲冷哼從身側(cè)響起器躏,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤俐载,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后登失,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遏佣,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年揽浙,在試婚紗的時候發(fā)現(xiàn)自己被綠了状婶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡馅巷,死狀恐怖膛虫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钓猬,我是刑警寧澤稍刀,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站逗噩,受9級特大地震影響掉丽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜异雁,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一捶障、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纲刀,春花似錦项炼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至面褐,卻和暖如春拌禾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背展哭。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工湃窍, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人匪傍。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓您市,卻偏偏與公主長得像,于是被迫代替她去往敵國和親役衡。 傳聞我的和親對象是個殘疾皇子茵休,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,440評論 2 348

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