Python批量爬取大众点评数据

众所周知,某点评是一直有JS加密的,所以关于它的外包一直都很贵,有些公司甚至用来面试,可见他的难度。

但是吧,最近他好像没有加密了,这~

不值钱了啊!

那当时就忍不住了,就得用Python开始整活了!

Python批量爬取大众点评数据

 

 

Python批量爬取大众点评数据
话不多说,让我们上代码!

全部代码

今天就没那么多步骤了,直接上代码!

import requests
import parsel

url = 'https://www.dianping.com/search/keyword/344/0_%E7%81%AB%E9%94%85/p2'
headers = {
    'Cookie': 'fspop=test; cy=344; cye=changsha; _lxsdk_cuid=181f2b8ceedc8-00c68dfc700b1e-c4c7526-384000-181f2b8ceedc8; _lxsdk=181f2b8ceedc8-00c68dfc700b1e-c4c7526-384000-181f2b8ceedc8; _hc.v=fa46cfdd-99f6-80af-c226-f8777fc1f097.1657634607; s_ViewType=10; _lx_utm=utm_source%3DBaidu%26utm_medium%3Dorganic; Hm_lvt_602b80cf8079ae6591966cc70a3940e7=1657634608,1657690542; lgtoken=0ecd60582-14f9-4437-87ad-7b55881b56df; WEBDFPID=3x389w8ww1vw5vuzy491zvxxu36989x2818u39v38389795895568429-1657776946569-1657690545731QSUUAWGfd79fef3d01d5e9aadc18ccd4d0c95072230; dper=6cfaf0f82f34d241b584d587fc92a7117ba6c082354d350ed861c0a256d00ba3beb93db7dc5485b4e2e4e4085a92126fa2e5f1dbe1b6eaefd1c814167fce943e; ll=7fd06e815b796be3df069dec7836c3df; Hm_lpvt_602b80cf8079ae6591966cc70a3940e7=1657690573; _lxsdk_s=181f60e4e6c-cad-fea-c91%7C%7C40',
    'Host': 'www.dianping.com',
    'Referer': 'https://www.dianping.com/search/keyword/344/0_%E7%81%AB%E9%94%85',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36',
}

response = requests.get(url=url, headers=headers)
selector = parsel.Selector(response.text)
href = selector.css('.shop-list ul li .pic a::attr(href)').getall()
print(href)
for index in href:
    html_data = requests.get(url=index, headers=headers).text
    selector_1 = parsel.Selector(html_data)
    title = selector_1.css('.shop-name::text').get()  # 店名
    count = selector_1.css('#reviewCount::text').get()  # 评论
    Price = selector_1.css('#avgPriceTitle::text').get()  # 人均消费
    item_list = selector_1.css('#comment_score .item::text').getall()  # 评价
    taste = item_list[0].split(': ')[-1]  # 口味评分
    environment = item_list[1].split(': ')[-1]  # 环境评分
    service = item_list[-1].split(': ')[-1]  # 服务评分
    address = selector_1.css('#address::text').get()  # 地址
    tel = selector_1.css('.tel ::text').getall()[-1]  # 电话
    dit = {
        '店名': title,
        '评论': count,
        '人均消费': Price,
        '口味': taste,
        '环境': environment,
        '服务': service,
        '地址': address,
        '电话': tel,
        '详情页': index,
    }
    print(dit)

 

注释我就不注释了,有点赶时间,女朋友喊我去吃饭呢!

Python批量爬取大众点评数据

 

 

Python批量爬取大众点评数据
不过没关系,还好我有先见之明,已经录了视频,都发在这里了,代码不明白的话,可以看视频有一步步的讲解。

视频地址: Python爬取大众点评

# 我给大家准备了这些资料:Python视频教程、100本Python电子书、基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题、Python学习路线图、问题解答!
# 都放在这个扣群啦 : 279199867

 

效果展示

Python批量爬取大众点评数据
本文代码只是爬取了部分内容,视频中还讲解了让数据更好看,多页爬取,保存Excel表格等等。

Python批量爬取大众点评数据

 

 

给大家展示一下效果

Python批量爬取大众点评数据

 

 

Python批量爬取大众点评数据

 

 

Python批量爬取大众点评数据Python批量爬取大众点评数据

好了,今天的分享就到这,下次再见!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python批量爬取大众点评数据 - Python技术站

(0)
上一篇 2023年4月2日 下午5:19
下一篇 2023年4月2日 下午5:20

相关文章

  • 重温Python基础——用户输入和while循环

    哈喽兄弟们,本节咱们来复习一下用户输入和while循环。 函数input()的工作原理 函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,python将其赋值给一个变量,以方便继续使用。例如我们尝试让用户输入一些东西 a = input(“请输入一个数”) print(a) 运行结果 请输入一个数   这时我们就可以根据要求输入数值函数…

    Python开发 2023年4月2日
    00
  • 用Python做一个中秋抢购月饼的脚本

    序言 每逢佳节倍思亲,想买个东西给家里,结果发现手速不够,网速不够快,没有时间下单等等各种原因导致最后想买的东西售罄了… 甚至跟你一起抢购的可能是脚本,太真实了! 今天就给大家分享一个python版抢购月饼的脚本,我们要用魔法打败魔法!话不多说,直接开搞! 准备工作 今天要用的是一个测试工具的库:Selenium Selenium是一个用于测试网站的自动化测…

    Python开发 2023年4月2日
    00
  • 发现一个舔狗神器,Python真的太厉害了,自动下载妹子视频…

    兄弟们,现在短视频主播好看的妹子太多了,有时候遇到自己喜欢的,虽然点了赞或者收藏了,但是万一主播把视频隐藏下架了呢? 所以今天咱们就用Python来把这些好看的视频统统保存下来…     涉及知识点 1、动态数据抓包演示2、json数据解析方法3、视频数据保存 环境介绍 python 3.6 pycharm requests   案例实现步骤 找数据对应的地…

    2023年4月2日
    00
  • 11个案例讲透 Python 函数参数

    今天给大家分享一下自己整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助。 接下来是正文。 1、参数分类 函数,在定义的时候,可以有参数的,也可以没有参数。 从函数定义的角度来看,参数可以分为两种: 必选参数:…

    Python开发 2023年4月2日
    00
  • 重温Python基础——字符串

    哈喽,兄弟们, 本文带大家复习一下Python基础中的字符串,不知道大家还记得多少内容呢? 字符串 1、字符串就是一系列字符 在python中,用引号括起的都是字符串,其中引号可以是单的,也可以是双的。例如: “i am not happy” ‘i am not happy’   这种灵活性能在字符串中包含引号和撇号,例如: “she told me ‘Py…

    Python开发 2023年4月2日
    00
  • 为了防止这个公众号被封,我连夜用Python爬取了它所有图片~

    哈喽兄弟们,今天来试试批量获取公众号文章,emmm…     虽然名义上是文章,单其实它是一篇纯图片文,至于为什么不是文字,小姐姐不比文字香?     事前准备     我们需要用到 Fiddler Everywhere 这个软件,Crack是本次要使用到的文件,以及要安装微信PC版客户端,我专门录了一个安装 及使用的教程。 本次使用的是Python3.8 …

    2023年4月2日
    00
  • 花了两天从几十万行代码里总结出的22个Python万用公式,非常有用

    哈喽兄弟们 在大家的日常python程序的编写过程中,都会有自己解决某个问题的解决办法,或者是在程序的调试过程中,用来帮助调试的程序公式。 小编通过几十万行代码的总结处理,总结出了22个python万用公式,可以帮助大家解决在日常的python编程中遇到的大多数问题,一起来看看吧。 1、一次性进行多个数值的输入 对于数值的输入问题,是很多笔试题目中经常遇到的…

    Python开发 2023年4月2日
    00
  • 挑战在代码里面不写for循环,让代码变得更简洁、规范、结构化,以及更好的代码可读性!

    哈喽兄弟们,又是新的一天!今天你敲代码了吗? 一、序言 为什么要挑战自己在代码里不写 for loop?因为这样可以迫使你去学习使用比较高级、比较地道的语法或 library。文中以 python 为例子,讲了不少大家其实在别人的代码里都见过、但自己很少用的语法。 自从我开始探索 Python 中惊人的语言功能已经有一段时间了。一开始,我给自己一个挑战,目的…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部