餓了嗎上面原來有這麼多無證店鋪!還是大Python比較牛逼!

來源:互聯網
上載者:User

標籤:經緯   原來   imp   1.2   分析   www.   商業   www   地區   

先看一下抓取的,竟然有這麼多店沒有營業執照。

二、運行環境

  • python3

  • pymongo

  • requests

三、分析

首先訪問餓了麼首頁,輸入想搜尋的地區,頁面隨即返回附近地區店鋪。

頁面瀏覽器地址如下:

https://www.ele.me/place/wtw39y8614v4?latitude=31.237236&longitude=121.36636

開啟瀏覽器開發人員工具,分析需要抓取的資料,接著用requests抓取該頁面地址,使用BeautifulSoup解析資料,竟然返回空值資料。

再次查看頁面資訊,向下滾動頁面,發現XHR非同步載入類型中有返回JSON格式資料。如所示:

麥口胡

連結:https://www.jianshu.com/p/19c38bfa7388

來源:簡書

著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

其中參數:

1、longitude,latitude採用的高德座標系對應搜尋地區的經緯度

2、limit=24 每次限制返回上限24個店鋪;設定再多後台最多返回30個

3、offset=24 每次返回的店鋪數量,24個數量級增加,比如頁面繼續往下翻offset=48,72……

用迴圈增加offset的位移量,就可以得到更多的店鋪資料。

此頁面我們需要採集name ,phone, address 即商戶名稱,電話,營業地址三個資料即可。一個頁面可以採集24個商家資料,json資料如:

代碼如下:

import requestsimport jsonurl=‘https://www.ele.me/restapi/shopping/restaurants?extras[]=activities&geohash=wtw39y8614v4&latitude=31.237236&limit=24&longitude=121.36636&offset=24&terminal=web‘r=requests.get(url).textd=json.loads(r)for v in d: print (v[‘name‘],v[‘phone‘],v[‘address‘])

返回結果如下:

四、代碼

五、結果顯示

在mongodb中按照地址排序,sort({address:1}) 按照地址升序排序

你學會了嗎?

歡迎大家關注我的部落格:ttps://home.cnblogs.com/u/Python1234

歡迎加入千人交流答疑群:125240963

餓了嗎上面原來有這麼多無證店鋪!還是大Python比較牛逼!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.