Python:晚上把附近的足浴店都给爬了一遍,好兄弟真不错

python可乐编程 2021-10-29 16:06:16
Python 晚上 附近 都给 足浴

兄弟们,我来了!今天整个好玩的,你们肯定喜欢~

咱们上班累了,不得好好犒劳一下自己,是吧,于是我整了一手爬取附近洗jio的店子,浴皇大帝们,冲鸭!

 

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:701698587
欢迎加入,一起讨论 一起学习!

 


话不多说,冲!兄弟们,都是正规的 正规的!

用的环境是

python 3.8 解释器
pycharm 编辑器

用的大多数的知识点 都是属于基础的知识点内容,以及爬虫基础入门一些知识点。

要用的模块
requests >>> pip install requests 第三方模块 需要大家去安装
csv
win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

既然是爬虫,那我们不得分析一下爬虫的基本思路。

数据来源分析
我们不管是爬什么,都要先找到数据来源对波。有来源才有下一步的行动。

1. 确定我们要爬取数据内容是什么?
店铺基本数据信息
2. 通过开发者工具进行抓包分析 分析数据从哪里可以获取
美团数据, 从第一页数据进行分析的, 没办法实现翻页爬取操作

代码流程步骤
有了来源目标之后,再请求获取数据,解析数据,最后创建文件夹保存到Excel表格。当然,如果想爬更多的,肯定就得实现自动翻页

  1. 发送请求, 对于店铺信息数据包url地址发送请求
  2. 获取数据, 获取服务器返回的response响应数据
  3. 解析数据, 提取我们想要的一些数据内容 (店铺信息)
  4. 保存数据, 把相应的数据内容保存csv表格里面
  5. 多页爬取:多页爬取数据内容

所有代码
代码都在这,大家可以去试试,不限正规足浴,其实想爬啥都行。

 

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': '_lxsdk_cuid=1742973e754c8-0755662a43e0a2-3962420d-1fa400-1742973e754c8; iuuid=1F1D4BFAA0B9CA777B0EC2B899C43AD6C5C9CDB370B86A51322AB71211B94277; cityname=%E9%95%BF%E6%B2%99; _lxsdk=1F1D4BFAA0B9CA777B0EC2B899C43AD6C5C9CDB370B86A51322AB71211B94277; _hc.v=f4f02748-8eb7-1ea7-385c-5899047aa1c1.1618907157; __mta=251035321.1598423295952.1598423295952.1621410161604.2; uuid=05f4abe326934bf19027.1634911815.1.0.0; rvct=1%2C70%2C30; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; mtcdn=K; lt=knaBbvVTfN50cupoV5b87GJMXzkAAAAAAw8AAELrweWvhGhrM0fw6oTkLe5c6DGXJ6PCtxfyHgUPl3k-SVVR-Vs0LjzrGfewJhX8-g; u=266252179; n=qSP946594369; token2=knaBbvVTfN50cupoV5b87GJMXzkAAAAAAw8AAELrweWvhGhrM0fw6oTkLe5c6DGXJ6PCtxfyHgUPl3k-SVVR-Vs0LjzrGfewJhX8-g; unc=qSP946594369; firstTime=1634974011563; ci=70; _lxsdk_s=17cac0b849b-b3e-dac-85e%7C%7C10',
'Host': 'www.meituan.com',
'Referer': 'https://bj.meituan.com/',
'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
# def get_shop_info(html_url):
# headers_1 = {
# 'Cookie': '_lxsdk_cuid=1742973e754c8-0755662a43e0a2-3962420d-1fa400-1742973e754c8; iuuid=1F1D4BFAA0B9CA777B0EC2B899C43AD6C5C9CDB370B86A51322AB71211B94277; cityname=%E9%95%BF%E6%B2%99; _lxsdk=1F1D4BFAA0B9CA777B0EC2B899C43AD6C5C9CDB370B86A51322AB71211B94277; _hc.v=f4f02748-8eb7-1ea7-385c-5899047aa1c1.1618907157; uuid=96d0bfc90dfc441b81fb.1630669508.1.0.0; ci=30; rvct=30; mtcdn=K; lt=1vyIlUgnzqEfhjpxic8Whf_WGfwAAAAAbg4AAOEUVbolB83IgwxL1wwOGfvIpVZsnHpwF6bGZZ5yT_SL4V8GRr4_WKkQ4s2AcF6Tmg; u=266252179; n=qSP946594369; token2=1vyIlUgnzqEfhjpxic8Whf_WGfwAAAAAbg4AAOEUVbolB83IgwxL1wwOGfvIpVZsnHpwF6bGZZ5yT_SL4V8GRr4_WKkQ4s2AcF6Tmg; firstTime=1630669549381; unc=qSP946594369; _lxsdk_s=17bab7a163a-27-d8f-8fd%7C%7C113',
# # 'Referer': 'https://sz.meituan.com/',
# '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_1 = requests.get(url=html_url, headers=headers_1)
# html_data = re.findall('"address":"(.*?)","phone":"(\d+)"', response_1.text)[0]
# return html_data
# get_shop_info('https://www.meituan.com/meishi/193587069/')
for page in range(0, 1537, 32):
time.sleep(2)
url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/30'
data = {
'uuid': '05f4abe326934bf19027.1634911815.1.0.0',
'userid': '266252179',
'limit': '32',
'offset': page,
'cateId': '-1',
'q': '按摩',
'token': 'knaBbvVTfN50cupoV5b87GJMXzkAAAAAAw8AAELrweWvhGhrM0fw6oTkLe5c6DGXJ6PCtxfyHgUPl3k-SVVR-Vs0LjzrGfewJhX8-g'
}
headers = {
'Referer': 'https://sz.meituan.com/',
'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.meituan.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)

 

还可以实现数据分析啥的,我就不往下写了,前两天的一篇,有实现数据分析的,同一个平台的。

兄弟们,看完记得点个赞三连啥的,这样我更新就更快了,我就喜欢快~
给你们奖励一个女朋友!

版权声明
本文为[python可乐编程]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/pythonQqun200160592/p/15480832.html

  1. Inverse un entier de 3 bits (implémentation Python)
  2. Compared with Excel, it is easy to learn Python report automation practice!
  3. 7 excellent open source libraries for learning Python Programming
  4. Python Qt GUI设计:QPrinter打印图片类(基础篇—21)
  5. Use of Python pandas!!!!! Explain in detail
  6. 2n行输入,Python,判断字母个数
  7. Notes de Python (XV): dérivation de liste
  8. Notes sur Python (XVI): générateur et Itérateur
  9. Notes de Python (18): décorateur
  10. 2n entrée de ligne, Python, nombre de lettres de jugement
  11. Notes Python (17): fermetures
  12. Notes sur Python (20): fonctions d'ordre supérieur intégrées
  13. 想问问这个Python编程咋做呀?
  14. 想問問這個Python編程咋做呀?
  15. Vous voulez savoir ce que fait cette programmation python?
  16. 11.5K Star,一个开源的 Python 静态类型检查库
  17. Sweetviz:让你只需三行代码实现Python探索性数据分析
  18. Sweetviz:讓你只需三行代碼實現Python探索性數據分析
  19. Sweetviz: vous permet d'effectuer une analyse exploratoire des données python avec seulement trois lignes de code
  20. 11.5k Star, une bibliothèque de vérification de type statique Python Open Source
  21. 刚学Python,想让大大给我解释一下代码
  22. 剛學Python,想讓大大給我解釋一下代碼
  23. Je viens d'apprendre Python et je veux que tu m'expliques le Code.
  24. Python QT GUI Design: qmainwindow, QWidget and qdialog window classes (Fundamentals - 10)
  25. Python爬虫项目实战:快手网页版滑块captchaSession分析
  26. python计算时间十二小时制
  27. Temps de calcul Python 12 heures
  28. Python crawler Project actual Fighting: faster Web Version Slider CAPTCHA session Analysis
  29. Python要学习多久可以掌握?多久可以精通?
  30. Combien de temps Python va - t - il apprendre à maîtriser? Combien de temps faut - il pour maîtriser?
  31. 从官网上下载的python安装包安装不了
  32. 深度学习项目:如何使用Python和OpenCV进行人脸识别
  33. python编辑语言如内容所示
  34. La langue d'édition Python est affichée dans le contenu
  35. 有谁知道这怎么回事嘛(Python的简单代码)
  36. 有誰知道這怎麼回事嘛(Python的簡單代碼)
  37. Qui sait ce qui se passe?
  38. Python求某个数的因数【因数是指能被这个数整除的数。例如6的因数有:1、2、3、6; 7的因数有:1、7; 8的因数有:1、2、4、8】。
  39. Python calcule les facteurs d'un nombre [les facteurs sont des nombres qui peuvent être divisés par ce nombre. Par exemple, les facteurs de 6 sont: 1, 2, 3, 6; les facteurs de 7 sont: 1, 7; et les facteurs de 8 sont: 1, 2, 4, 8].
  40. 请问这个实验如何做(用python3.x的环境)
  41. 如何创建一个python程序来模拟电影院的座位预订
  42. [algorithm learning] 1486. Array XOR operation (Java / C / C + + / Python / go / trust)
  43. Comment créer un programme Python pour simuler la réservation de sièges dans un cinéma
  44. Comment faire cette expérience (en utilisant l'environnement Python 3.x)
  45. Python之绘制多角星
  46. Pandas的SettingWithCopyWarning报警怎么解决
  47. Comment résoudre l'alarme de réglage avec copywarning de pandas
  48. 使用 Python 进行数据可视化之Matplotlib
  49. Python 常见问题 - 使用 poetry build 打包构建失败,报 ModuleOrPackageNotFound No file/folder found for package
  50. 万圣节奇妙夜,不给糖就捣蛋—Python带你点击解锁恐怖新道具(南瓜头、骷髅、蝙蝠、糖......)
  51. 【算法学习】1221. 分割平衡字符串(java / c / c++ / python / go / rust)
  52. 教你用Python 编写 Hadoop MapReduce 程序
  53. Je t'ai appris à écrire Hadoop mapreduce en Python.
  54. Pandas下载最新版和python不匹配
  55. python tkinter GUI编程如何实现一个时钟,无论主线程怎么卡住,都不影响时钟正常进行走时间。
  56. python tkinter GUI編程如何實現一個時鐘,無論主線程怎麼卡住,都不影響時鐘正常進行走時間。
  57. La programmation de l'interface graphique Python tkinter pour implémenter une horloge n'affecte pas le temps de fonctionnement normal de l'horloge, peu importe comment le fil principal est coincé.
  58. Pandas télécharger la dernière version ne correspond pas à Python
  59. Make a cool music player with Python [V3.0 including source code and packaged exe]
  60. 编写一个函数,可以传入两个实参或三个实参。如果传入两个实参,返回求和。如果传入三个实参,返回的话。前两个实参的和对第三个实参求余的结果Python