国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

中午不知道吃什么,用Python爬取美團外賣評論幫你選餐

馬哥Linux運維 ? 來源:YXQ ? 2019-03-26 15:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、介紹

朋友暑假實踐需要美團外賣APP評論這一份數據,一開始我想,這不就抓取網頁源代碼再從中提取數據就可以了嗎,結果發(fā)現事實并非如此,情況和之前崔大講過的分析Ajax來抓取今日頭條街拍美圖類似,都是通過異步加載的方式傳輸數據,不同的是這次的是通過JS傳輸,其他的基本思路基本一致,希望那些數據能幫到她吧

二、流程

目標站點分析用瀏覽器打開美團外賣APP評論,F12

1.首先我們要找到我們想要的評論數據,在第一次“失敗”的直接抓取網頁源代碼后,我們發(fā)現它是通過Ajax加載的,我們點擊JS選項,可以發(fā)現JS項目里面的返回結果有我們想要的數據,勾選Preserve log,當點擊查看更多評論時,后臺(JS里)會出現新的Ajax請求,發(fā)現還有參數start和的變化,其他請求參數不變,start的參數變化是以10遞增的,的參數變化可就讓人摸不著頭腦(這個時候我們也不要方,因為大多情況下沒有規(guī)律的參數都是沒用的)

2.經過我們對http://comment.mobilem.360.cn/comment/getComments?callback=jQuery17203361018749253357_1503362214558&baike=%E7%BE%8E%E5%9B%A2%E5%A4%96%E5%8D%96+Android_com.sankuai.meituan.takeoutnew&c=message&a=getmessage&start=0&count=10&_=1503362215647進行分析后發(fā)現它的標準式為‘http://comment.mobilem.360.cn/comment/getComments?&baike=%E7%BE%8E%E5%9B%A2%E5%A4%96%E5%8D%96+Android_com.sankuai.meituan.takeoutnew&start=’+str(i*10),i每次增加1,就包含新的十條評論的內容,所以我們通過改變i的值就可以拿到不同的數據

分析url的網頁源代碼,在源代碼里有我們想要的評論數據,我們可以用正則(在這里正則還是比較好用的)把我們想要的信息弄下來

開啟循環(huán),批量抓取

保存數據至文本和數據庫

#之前是這樣處理的:def parse_one_page(html):    pattern2 = re.compile('"m_type":"0",(.*?),"username"', re.S)    items=re.findall(pattern2,html)    for item in items:        item = "{" + item + "}"        item=json.loads(item)        write_to_file(item)        print(item)        save_to_mongo(item)#皮皮哥告訴了我他的獨家正則匹配方法可以匹配出來,這樣的確獲得的item沒有編碼問題def parse_one_page(html):    pattern = '"content":".*?"'    items=re.findall(pattern,html)    for item in items:        item =eval(item.split(':',1)[1])        write_to_file(item)        print(item)        save_to_mongo(item)#對一般正則寫法獲得的item進行的方法,這是從皮皮哥那里得知的,親測有效def parse_one_page(html):    pattern = re.compile('rsion_name".*?"content":(.*?),"username"', re.S)    items=re.findall(pattern,html)    #print(items)    for item in items:        item = item.encode('utf-8').decode('unicode_escape')        write_to_file(item)        print(item)        save_to_mongo(item)
三、代碼
#config.pyMONGO_URL='localhost'MONGO_DB='meituan'MONGO_TABLE='meituan'
import requestsfrom requests.exceptions import RequestExceptionimport jsonimport refrom day31.config import *import pymongoclient=pymongo.MongoClient(MONGO_URL)db=client[MONGO_DB]base_url='http://comment.mobilem.360.cn/comment/getComments?callback=jQuery17209056727722758744_1502991196139&baike=%E7%BE%8E%E5%9B%A2%E5%A4%96%E5%8D%96+Android_com.sankuai.meituan.takeoutnew&start='def the_url(url):    try:        response = requests.get(url)        if response.status_code==200:            response.encoding='utf-8'            return response.text        return None    except RequestException:        print('請求出錯')        return Nonedef the_total():    html=the_url(base_url)    pattern1 = re.compile('"total":(.*?),"messages"', re.S)    Total = re.findall(pattern1, html)    Total=int(':'.join(Total))    #print(type(Total))    show='總計評論%d條'%Total    print(show)    write_to_file(show)    return Totaldef parse_one_page(html):    pattern2 = re.compile('"m_type":"0",(.*?),"username"', re.S)    items=re.findall(pattern2,html)    for item in items:        item = "{" + item + "}"        item=json.loads(item)        write_to_file(item)        print(item)        save_to_mongo(item)def save_to_mongo(result):    try:        if db[MONGO_TABLE].insert(result):            print('儲存到MongoDB成功',result)    except Exception:        print('儲存到MongoDB失敗',result)def write_to_file(content):    with open('meituan_result.text','a',encoding='utf-8') as f:        f.write(json.dumps(content,ensure_ascii=False)+'\n')        f.close()def main():    Total=the_total()    Total=int(Total/10)+2    for i in range(Total):        url = base_url + str(i*10)        if the_url(url)!=None:            html=the_url(url)            parse_one_page(html)        else:            print('輸完啦')    ps='PS:因為有些評論空,所以實際評論比抓取的少'   #這是我瞎猜的    write_to_file(ps)    print(ps)if __name__ == '__main__':    main()

四、最后得到的數據視圖和文件

五、總結

1.程序報錯很正常,不要一報錯就問別人,先自己思考、百度

2.在數據類型處理方面的知識還要加強

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 源代碼
    +關注

    關注

    96

    文章

    2953

    瀏覽量

    70328
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90035

原文標題:中午不知道吃什么?用Python爬取美團外賣評論幫你選餐!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    淘寶商品評論API接口(taobao.item_review)指南

    ),為開發(fā)者提供了合規(guī)、穩(wěn)定、結構化的評論數據獲取方式,相較于非正規(guī)的手段,能有效規(guī)避數據安全與平臺規(guī)則風險。本文作為技術指南,將從接口基礎認知、Python 實戰(zhàn)調用、合規(guī)注意事
    的頭像 發(fā)表于 01-22 16:14 ?966次閱讀

    組合導航不知道怎么,看這里

    單一導航難適配復雜作業(yè)?MEMS組合導航來幫你,通過融合衛(wèi)星定位與慣性測量技術,以“1+1>2”優(yōu)勢破解全行業(yè)導航難題。 我司組合導航提供三種方案可選,從01到03到05,搭載從導航級到戰(zhàn)術級到消費
    的頭像 發(fā)表于 01-08 15:47 ?223次閱讀

    京東關鍵詞搜索商品列表的Python爬蟲實戰(zhàn)

    京東關鍵詞搜索商品列表 Python 爬蟲實戰(zhàn) 你想要實現京東關鍵詞搜索商品的爬蟲,我會從 合規(guī)聲明、環(huán)境準備、頁面分析、代碼實現、反優(yōu)化 五個方面展開,幫助你完成實戰(zhàn)項目。 一、前置聲明(重要
    的頭像 發(fā)表于 01-04 10:16 ?743次閱讀

    禾賽科技與無人機達成戰(zhàn)略合作

    2025 年 12 月 19 日,全球激光雷達領導者禾賽科技(NASDAQ: HSAI;HKEX: 2525)宣布與無人機達成戰(zhàn)略合作,禾賽第二代純固態(tài)感知定位激光雷達 FTX 正式獲得
    的頭像 發(fā)表于 12-29 14:14 ?3072次閱讀

    Python 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰(zhàn)

    一、技術選型:為什么 Python 而不是 Java? 結論: “調研階段 Python,上線后如果 QPS 爆表再考慮 Java 重構?!?二、整體架構速覽(3 分鐘看懂) 三、
    的頭像 發(fā)表于 10-21 16:59 ?519次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 給 Amazon 做“全身 CT”——可量產、可擴展的商品詳情爬蟲實戰(zhàn)

    能耗管理系統(tǒng)怎么?5 大核心功能幫你精準控能

    能耗管理系統(tǒng)怎么?5 大核心功能幫你精準控能 在 “雙碳” 目標與企業(yè)降本需求的雙重驅動下,能耗管理系統(tǒng)已成為制造業(yè)、服務業(yè)、建筑業(yè)等領域實現能源高效利用的關鍵工具。然而,市場上的能耗管理系統(tǒng)品類
    的頭像 發(fā)表于 10-10 17:14 ?825次閱讀

    淘寶天貓商品評論數據技術方案(附 python 代碼)

    一、摘要 淘寶天貓商品評論API是淘寶開放平臺提供的核心數據接口,用于獲取指定商品的用戶評價信息,包括評分、內容、曬圖、追評等數據。該接口廣泛應用于電商數據分析、競品監(jiān)控、用戶反饋挖掘等場景,支持
    的頭像 發(fā)表于 10-10 14:48 ?731次閱讀

    快手電商 API 實現快手小店商品評論情感分析

    的API接口,允許開發(fā)者訪問快手小店的數據,包括商品評論。本文將一步步指導您如何利用快手電商API獲取評論數據,并實現情感分析功能。整個過程基于Python語言,結構清晰、易于操作,確保您能快速上手。 1. 準備工作:獲取快手電
    的頭像 發(fā)表于 08-26 15:08 ?577次閱讀
    <b class='flag-5'>用</b>快手電商 API 實現快手小店商品<b class='flag-5'>評論</b>情感分析

    2025年逆變電源生產廠家有哪些?這篇文章,一看就懂!

    嘿,朋友們!是不是一提到 “逆變電源” 就頭大?想給家里的光伏電站升級一下,或者給心愛的房車配個靠譜的“心臟”,卻不知道2025年該哪家逆變電源生產廠家?別擔心,我這就幫你把市場上的主流玩家捋一遍,保證讓你心里有底,買得明白!
    的頭像 發(fā)表于 08-22 10:45 ?3099次閱讀
    2025年逆變電源生產廠家有哪些?這篇文章,一看就懂!

    編譯錯誤: error: unrecognizable insn,不知道原因,請教!

    start_gui.exe生成的代碼,再用SEGGER Embedded打開,編譯有錯,不知道是什么原因,請教各位大佬?
    發(fā)表于 06-23 14:45

    食堂消費機“斷網斷電也能用”的工作原理是什么?

    食堂最怕的是什么?大概就是效率太低,排隊太長還有食品安全等問題。而在實際使用食堂消費機、刷臉支付
    的頭像 發(fā)表于 05-13 10:14 ?606次閱讀
    食堂<b class='flag-5'>團</b><b class='flag-5'>餐</b>消費機“斷網斷電也能用”的工作原理是什么?

    不知道怎么畫原理圖了

    某天,某實驗室,幾位工程師在討論《原理圖設計規(guī)范》。一秒之前還很和諧,下一秒討論原理圖怎么畫的時候,大家的意見就分歧很大了。類似于“豆?jié){是喝甜的還是咸的”、“粽子里面是放棗子還是放肉”。原來畫電路圖時,這樣的問題,也有這么多?!1、電阻的表示方法你是第一種,還是第二種?中間是方框還是折線?方框做多大?現場一片混亂立馬分成N派。普通的電阻都這樣,這么多種電阻現
    的頭像 發(fā)表于 04-30 18:40 ?995次閱讀
    <b class='flag-5'>不知道</b>怎么畫原理圖了

    【國產信創(chuàng)CPU全攻略】分享國產CPU品牌排行榜!從排名到避坑!

    最近收到不少粉絲留言:“想換國產電腦,但國產CPU品牌太多,完全不知道怎么!”“信創(chuàng)CPU排名到底靠不靠譜?”今天咱們就來嘮嘮這個話題——國產CPU品牌有哪些?信創(chuàng)CPU怎么挑?附上一份接地氣的「信創(chuàng)CPU排名一覽表」,幫你
    的頭像 發(fā)表于 04-14 14:34 ?5503次閱讀
    【國產信創(chuàng)CPU全攻略】分享國產CPU品牌排行榜!從排名到避坑!

    光公司DDR,絲印4BC77 D8CJN,是什么型號

    在一塊RK3576的開發(fā)板上,有一顆光公司的DDR,絲印4BC77 D8CJN,但不知道是什么型號。有誰知道嗎?
    發(fā)表于 03-24 10:48

    探秘京東外賣幕后:地圖&amp;軌跡技術探尋

    作者:京東物流 丁杰 最近,京東正式宣布進軍外賣業(yè)務,迅速引發(fā)了廣泛關注。當大家滿心期待著品嘗到更多美食、享受更便捷服務時,不知道是否留意到一個技術細節(jié):未來在京東外賣的訂單頁面,騎手送
    的頭像 發(fā)表于 03-18 14:01 ?2406次閱讀
    探秘京東<b class='flag-5'>外賣</b>幕后:地圖&amp;軌跡技術探尋