python爬取叮咚买菜评价数据

简介: python爬取叮咚买菜评价数据
+关注继续查看

疫情这这几年,线上买菜成了大家日常生活的一部分,出现了叮咚买菜,京东到家,朴朴超市等app,这些买菜app我们可以买到新鲜蔬菜、水果、肉禽蛋、米面粮油、水产海鲜、南北干货、方便速食等等。对上班族来说真的是很方便的软件。
有竞争就有对比,消费者会通过平台直接的各方面进行对比选择更有利的一款app。最近不少川渝地区的叮咚买菜用户表示“叮咚买菜真的要撤出川渝地区了吗”“叮咚买菜要溜了?五折快冲”“传叮咚买菜川渝区域大撤退,29号关闭”,在正式发布通知之前,叮咚买菜撤出川渝的消息就已四散。撤离的消息来得突然,却也可以预料,毕竟当下叮咚买菜的境况并不乐观
QQ图片20230522152151.png
那么我们今天就利用python爬虫技术去了解下大家对这款购菜app的评价吧。数据来源于叮咚买菜app,但是就像美团评价一样,这个网站评论数据的获取也是稍微有点难度的,最直接的就是会遇到网站封IP行为,这样的前提下我们只有先准备好高质量的爬虫代理才能去获取数据了。这里我们使用python通过Keep-Alive保持IP不变,向多个页面发出请求,通过多线程实现并发控制。IP的使用由亿牛云提供的爬虫隧道加强版产品。爬虫数据实现的过程如下所示例:
```#! -- encoding:utf-8 --
import requests
import random
import requests.adapters
import threading # 导入threading模块
import time # 导入time模块

要访问的目标页面

targetUrlList = [
"https://httpbin.org/ip",
"https://httpbin.org/headers",
"https://httpbin.org/user-agent",
]

代理服务器(产品官网 www.16yun.cn)

proxyHost = "t.16yun.cn"
proxyPort = "31111"

代理验证信息

proxyUser = "SWRSED"
proxyPass = "458796"
proxyMeta = f"http://{proxyUser}:{proxyPass}@{proxyHost}:{proxyPort}"

设置 http和https访问都是用HTTP代理

proxies = {
"http": proxyMeta,
"https": proxyMeta,
}

定义一个全局变量,用于记录上一次请求的时间

last_request_time = 0

定义一个全局变量,用于创建一个线程锁

lock = threading.Lock()

定义一个函数,用于访问一个目标网址

def visit_url(url, i):
global last_request_time # 声明全局变量
with requests.session() as s: # 使用with语句管理会话
with lock: # 使用线程锁

        # 获取当前时间
        current_time = time.time()
        # 计算距离上一次请求的时间差
        delta_time = current_time - last_request_time
        # 如果时间差小于200毫秒,就等待一段时间
        if delta_time < 0.2:
            time.sleep(0.2 - delta_time)
        # 更新上一次请求的时间
        last_request_time = time.time()
    # 发送请求
    r = s.get(url, proxies=proxies)
    print(f"第{i+1}个网址,结果如下:") # 使用f-string格式化输出
    print(r.text)

创建一个空的线程列表

threads = []
for i, url in enumerate(targetUrlList): # 使用enumerate函数遍历列表

# 创建一个线程,传入目标网址和索引
t = threading.Thread(target=visit_url, args=(url, i))
# 将线程添加到线程列表
threads.append(t)
# 启动线程
t.start()

等待所有线程结束

for t in threads:
t.join()
```

相关文章
|
2天前
|
数据采集 JSON API
使用Python和XPath解析动态JSON数据
使用Python和XPath解析动态JSON数据
|
5天前
|
机器学习/深度学习 Python
Python将深度学习的输入数据打乱顺序
本文介绍基于Python语言,实现机器学习、深度学习等模型训练时,数据集打乱的具体操作~
|
7天前
|
数据可视化 JavaScript 前端开发
基于Python的微博大数据舆情分析,舆论情感分析可视化系统
基于Python的微博大数据舆情分析,舆论情感分析可视化系统
|
7天前
|
数据采集 算法 数据挖掘
如何使用Python提取社交媒体数据中的关键词
如何使用Python提取社交媒体数据中的关键词
|
13天前
|
数据安全/隐私保护 Python
【python基础知识】1.数据类型、数据应用、数据转换
【python基础知识】1.数据类型、数据应用、数据转换
21 1
【python基础知识】1.数据类型、数据应用、数据转换
|
14天前
|
数据采集 JSON 前端开发
Python爬虫进阶:使用Scrapy库进行数据提取和处理
在我们的初级教程中,我们介绍了如何使用Scrapy创建和运行一个简单的爬虫。在这篇文章中,我们将深入了解Scrapy的强大功能,学习如何使用Scrapy提取和处理数据。
|
14天前
|
机器学习/深度学习 数据挖掘 PyTorch
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
此示例中,神经网络用于使用2011年4月至2013年2月期间的数据预测公民办公室的电力消耗。
27 0
Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据
|
20天前
|
Python
Python GDAL结合一景遥感影像提取另一遥感影像指定区域的数据
本文介绍基于Python中GDAL模块,实现基于一景栅格影像,对另一景栅格影像的像元数值加以叠加提取的方法~
|
20天前
|
XML 存储 数据采集
如何使用Python和正则表达式处理XML表单数据
如何使用Python和正则表达式处理XML表单数据
|
21天前
|
数据采集 JavaScript API
Python爬虫抓取经过JS加密的API数据的实现步骤
Python爬虫抓取经过JS加密的API数据的实现步骤
推荐文章
更多