前言 嗨嘍,大家好呀~這裡是愛看美女的茜茜吶 又到了學Python時刻~ 我又來了!今天整個好玩的,你們肯定喜歡~ 咱們上班累了,不得好好犒勞一下自己,是吧 ! 於是我整了一手採集附近洗jio的店子,浴皇大帝們,沖鴨~ 話不多說,沖!兄弟們,都是正規的 正規的! 使用環境 python 3.8 解釋 ...
前言
嗨嘍,大家好呀~這裡是愛看美女的茜茜吶
又到了學Python時刻~
我又來了!今天整個好玩的,你們肯定喜歡~
咱們上班累了,不得好好犒勞一下自己,是吧 !
於是我整了一手採集附近洗jio的店子,浴皇大帝們,沖鴨~
話不多說,沖!兄弟們,都是正規的 正規的!
使用環境
-
python 3.8 解釋器
-
pycharm 編輯器
用的大多數的知識點 都是屬於基礎的知識點內容,以及pa chong基礎入門一些知識點。
要用的模塊
-
requests >>> pip install requests 第三方模塊 需要大家去安裝
-
csv
win + R 輸入cmd 輸入安裝命令 pip install 模塊名 (如果你覺得安裝速度比較慢, 你可以切換國內鏡像源)
基本思路。
數據來源分析
我們不管是採集什麼,都要先找到數據來源。有來源才有下一步的行動。
-
確定我們要採集得數據內容是什麼?
店鋪基本數據信息
-
通過開發者工具進行抓包分析 分析數據從哪裡可以獲取
從第一頁數據進行分析的
代碼流程步驟
有了來源目標之後,再請求獲取數據,解析數據,最後創建文件夾保存到Excel表格。
當然,如果想採集更多的,肯定就得實現自動翻頁
-
發送請求, 對於店鋪信息數據包url地址發送請求
-
獲取數據, 獲取伺服器返回的response響應數據
-
解析數據, 提取我們想要的一些數據內容 (店鋪信息)
-
保存數據, 把相應的數據內容保存csv表格裡面
-
多頁採集:多頁採集數據內容
代碼展示
不限正規足浴,其實想採集啥都行。
import requests import pprint import re import csv import time f = open('按摩data.csv', mode='a', encoding='utf-8', newline='') csv_writer = csv.DictWriter(f, fieldnames=[ '店鋪名稱', '人均消費', '店鋪評分', '評論人數', '所在商圈', '店鋪類型', '店鋪地址', '聯繫方式', '營業時間', '詳情頁', ]) csv_writer.writeheader() def get_shop_info(html_url): headers = { 'Cookie': '', 'Host': '', 'Referer': '', '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=html_url, headers=headers) # print(response.text) phone = re.findall('"phone":"(.*?)"', response.text)[0] openTime = re.findall('"openTime":"(.*?)"', response.text)[0].replace('\\n', '') address = re.findall('"address":"(.*?)"', response.text)[0] shop_info = [address, phone, openTime] # print(shop_info) return shop_info for page in range(0, 1537, 32): time.sleep(2) url = '' data = { 'uuid': '05f4abe326934bf19027.1634911815.1.0.0', 'userid': '266252179', 'limit': '32', 'offset': page, 'cateId': '-1', 'q': '按摩', 'token': 'knaBbvVTfN50cupoV5b87GJMXzkAAAAAAw8AAELrweWvhGhrM0fw6oTkLe5c6DGXJ6PCtxfyHgUPl3k-SVVR-Vs0LjzrGfewJhX8-g' } headers = { 'Referer': '', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } response = requests.get(url=url, params=data, headers=headers) result = response.json()['data']['searchResult'] for index in result: shop_id = index['id'] index_url = f'https://www..com/meishi/{shop_id}/' shop_info = get_shop_info(index_url) dit = { '店鋪名稱': index['title'], '人均消費': index['avgprice'], '店鋪評分': index['avgscore'], '評論人數': index['comments'], '所在商圈': index['areaname'], '店鋪類型': index['backCateName'], '店鋪地址': shop_info[0], '聯繫方式': shop_info[1], '營業時間': shop_info[2], '詳情頁': index_url, } csv_writer.writerow(dit) print(dit)
因為代碼里有鏈接,不給過的,所以我把代表性的網址那裡刪掉了一部分,你們可以自行添加