本文內容
- 動態資料抓包演示
- json資料決議
- requests模塊的使用
- 保存csv
環境介紹
- python 3.8 解釋器
- pycharm 編輯器
確定我們要爬取資料內容是什么?
美團網上搜索“按摩”,采集全部按摩店資料

通過開發者工具進行抓包分析,找到資料

代碼實作步驟:
- 發送請求, 對于店鋪資訊資料包url地址發送請求
- 獲取資料, 獲取服務器回傳的response回應資料
- 決議資料, 提取我們想要的一些資料內容 (店鋪資訊)
- 保存資料, 把相應的資料內容保存csv表格里面
- 多頁爬取資料內容
開始寫代碼,首先匯入模塊
import requests # 資料請求模塊 第三方模塊 pip install requests import pprint # 格式化輸出模塊 import csv # 保存csv模塊
發送請求, 對于店鋪資訊資料包url地址發送請求
確定請求的url地址 url?后面的內容,都是屬于一個請求引數
url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/70' # 因為它是字典資料型別 data =https://www.cnblogs.com/qshhl/p/ { 'uuid': 'e0ee521794ef4b229eb6.1633764159.1.0.0', 'userid': '266252179', 'limit': '32', 'offset': page, 'cateId': '-1', 'q': '按摩', } # 加上請求頭 作用: 偽裝 # User-Agent 表示瀏覽器基本資訊 # Cookie: 用戶資訊, 常用于檢測是否有登陸賬號 # Referer: 防盜鏈, 告訴服務器我們發送請求url請求是從哪里跳轉過來的 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36' } response = requests.get(url=url, params=data, headers=headers) # 發送請求
決議資料,提取我們想要的一些資料內容 (店鋪資訊)
json字典資料 如何決議提取資料內容 字典取值 鍵值對取值, 根據冒號左邊內容, 提取冒號右邊內容
searchResult = response.json()['data']['searchResult'] # for 遍歷 提取串列中的每一個元素內容 for index in searchResult: # pprint.pprint(index) href = https://www.cnblogs.com/qshhl/p/f'https://www.meituan.com/xiuxianyule/{index["id"]}/' dit = { '店鋪名字': index['title'], '店鋪型別': index['backCateName'], '店鋪商圈': index['areaname'], '店鋪評分': index['avgscore'], '店鋪評論量': index['comments'], '人均消費': index['avgprice'], '維度': index['latitude'], '經度': index['longitude'], '詳情頁': href, } print(dit)
保存資料
f = open('美團按摩店top2.csv', mode='a', encoding='utf-8', newline='') csv_writer = csv.DictWriter(f, fieldnames=[ '店鋪名字', '店鋪型別', '店鋪商圈', '店鋪評分', '店鋪評論量', '人均消費', '維度', '經度', '詳情頁', ]) csv_writer.writeheader() # 寫入表頭
翻頁爬取
for page in range(0, 3201, 32): # time.sleep(1) url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/70' # 因為它是字典資料型別 data =https://www.cnblogs.com/qshhl/p/ { 'uuid': 'e0ee521794ef4b229eb6.1633764159.1.0.0', 'userid': '266252179', 'limit': '32', 'offset': page, 'cateId': '-1', 'q': '按摩', }


對于文章有疑問,或者想要Python相關資料、原始碼的同學也可以點這里
我立志以【按摩自由】為目標,爬了美團上1000多家按摩/足療店的資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/341704.html
標籤:Python
