前言
嗨喽,大家好呀~这里是爱看美女的茜茜呐
又到了学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)
因为代码里有链接,不给过的,所以我把代表性的网址那里删掉了一部分,你们可以自行添加