1. 程式人生 > >下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

一、介紹

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

二、流程

  • 目標站點分析
  • 用瀏覽器開啟美團外賣APP評論,F12
  • 1.首先我們要找到我們想要的評論資料,在第一次“失敗”的直接抓取網頁原始碼後,我們發現它是通過Ajax載入的,我們點選JS選項,可以發現JS專案裡面的返回結果有我們想要的資料,勾選Preserve log,當點選檢視更多評論時,後臺(JS裡)會出現新的Ajax請求,發現還有引數start和的變化,其他請求引數不變,start的引數變化是以10遞增的,
    的引數變化可就讓人摸不著頭腦(這個時候我們也不要方,因為大多情況下沒有規律的引數都是沒用的)

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

 

  •  

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進行分析後發現它的標準式為‘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的值就可以拿到不同的資料

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

進群:548377875   即可獲取數十套PDF以及大量的學習教程哦!

  • 分析url的網頁原始碼,在原始碼裡有我們想要的評論資料,我們可以用正則(在這裡正則還是比較好用的)把我們想要的資訊弄下來
  • 開啟迴圈,批量抓取
  • 儲存資料至文字和資料庫

 

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

 

 

三、程式碼

 

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

 

 

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

 

 

四、最後得到的資料檢視和檔案

 

下午不知道吃什麼?用Python爬取美團外賣評論幫你選餐!

 

 

五、總結

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

2.在資料型別處理方面的知識還要加強

3.感謝皮皮哥、感謝姚文峰前輩!