python爬取共享单车悄然涨价大众的评论数据

小白学大数据
• 阅读 324

2015年共享经济像雨后春笋般崛起,风口之下,市场上涌现出共享单车、共享充电宝、共享雨伞、共享健身房、共享玩具、共享服装等一系列共享经济产物。但是经过此后几年行业洗牌重塑,共享单车保留了下来。 当然,共享单车的玩家发生了彻底洗牌。2016年有20余家企业混战,到如今市场呈现美团单车、哈啰单车、滴滴青桔“三巨头”竞争状态,三家企业占据了95%的市场。不过按照互联网的生存法则,随着行业进入成熟稳定期,企业便不再烧钱补贴用户,而是开始向用户侧“收割”。 近一两年,“共享单车又双叒叕涨价了”的话题不时在网上引发讨论。根据一些新闻提供的数据,目前部分城市的共享单车价格已经涨至1小时6.5元。面对越来越贵的共享服务,消费者还会买单吗?面对共享单车各种悄然涨价,大家都持什么样的态度呢? 接下来我们通过专业的爬虫技术来讲解下“怎么用Python爬取微博上关于共享单车涨价的评论数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习。 在爬取之前我们需要先解析网站,像微博这样的网站反爬虫技术肯定做的很严,这里我们最重要的就是做好网站封IP。需要通过添加优质代理IP来应对。简单的爬取实现过程如下:

import requests
import json

# 定义一个爬虫加强版代理IP
proxyUser = "16yun"
proxyPass = "16ip"

proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
    "host" : proxyHost,
    "port" : proxyPort,
    "user" : proxyUser,
    "pass" : proxyPass,
}

# 设置 http和https访问都是用HTTP代理
proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
}

# 定义一个微博评论的URL,可以从微博APP或网页版获取
video_url = "https://weibo.com/newlogin?tabtype=search&gid=&openLoginLaye"

# 定义一个请求头,模拟浏览器访问
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"
}

# 定义一个函数,用于随机选择一个代理IP并发送请求
def get_response(url, proxies, headers):
    # 随机选择一个代理IP
    proxy = random.choice(proxies)
    # 使用requests库发送GET请求,并设置超时时间为10秒
    response = requests.get(url, proxies, headers=headers, timeout=10)
    # 返回响应对象
    return response

# 定义一个函数,用于解析响应内容并提取评论数据
def get_comments(response):
    # 判断响应状态码是否为200,即成功访问
    if response.status_code == 200:
        # 使用json库解析响应内容为字典格式
        data = json.loads(response.text)
        # 获取评论列表,每个评论是一个字典,包含评论者昵称、头像、内容等信息
        comments = data["data"]["comments"]
        # 返回评论列表
        return comments
    else:
        # 如果响应状态码不为200,打印错误信息并返回空列表
        print(f"Error: {response.status_code}")
        return []

# 调用get_response函数,发送请求并获取响应对象
response = get_response(video_url, proxies, headers)

# 调用get_comments函数,解析响应内容并获取评论列表
comments = get_comments(response)

# 打印评论列表的长度和前十条评论的内容(如果有的话)
print(f"Number of comments: {len(comments)}")
print("Top 10 comments:")
for comment in comments[:10]:
    print(comment["content"])
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java并发程序和共享对象实用策略
java并发程序和共享对象实用策略在并发程序中使用和共享对象时,可以使用一些实用的策略,包括:1.线程封闭2.只读共享。共享的只读对象可以由多个线程并发访问,但任何线程都不能修改它。共享的只读对象包括不可变对象和事实不可变对象3.线程安全共享。线程安全地对象在器内部实现同步。4.保护对象。被保护的对象只能通过持有特定的锁
Stella981 Stella981
3年前
Qt(MinGW ) Windows下创建动态库
点击上方蓝字可直接关注公众号哦,方便下次阅读。上一次和大家分享的是Linux下Qt创建共享库并链接共享库,这次和大家分享的是Windows下Qt创建共享库并链接共享库。大家肯定注意到标题中Qt后面括号中的minGW,为什么要加上minGW呢?先卖个关子,后面的介绍中会解释的。在上一篇文章中Linux下Qt创建共享库与链接共享库(https://w
Wesley13 Wesley13
3年前
EGLImage与纹理
EGLImage代表一种由EGL客户API(如OpenGL,OpenVG)创建的共享资源类型。它的本意是共享2D图像数据,但是并没有明确限定共享数据的格式以及共享的目的,所以理论上来讲,应用程序以及相关的客户API可以基于任意的目的创建任意类型的共享数据。        关于EGLImage的一种使用情景就是通过它来创建一个2D纹理。相关函数原型声明如
Stella981 Stella981
3年前
Python 进程之间共享数据
  最近遇到多进程共享数据的问题,到网上查了有几篇博客写的蛮好的,记录下来方便以后查看。一、Pythonmultiprocessing跨进程对象共享  在mp库当中,跨进程对象共享有三种方式,第一种仅适用于原生机器类型,即python.ctypes当中的类型,这种在mp库的文档当中称为sharedmemory方式,即通过共享
Stella981 Stella981
3年前
Goroutine(协程)为何能处理大并发?
简单来说:协程十分轻量,可以在一个进程中执行有数以十万计的协程,依旧保持高性能。进程、线程、协程的关系和区别:进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度。线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的)。协程和线程一样共享堆
Easter79 Easter79
3年前
TiDB 在摩拜单车的深度实践及应用
作者介绍:吕磊,摩拜单车高级DBA。一、业务场景摩拜单车2017年开始将TiDB尝试应用到实际业务当中,根据业务的不断发展,TiDB版本快速迭代,我们将TiDB在摩拜单车的使用场景逐渐分为了三个等级:P0级核心业务:线上核心业务,必须单业务单集群,不允许多个业务共享集群性能,跨AZ部署,具有
Wesley13 Wesley13
3年前
Java8内存模型
<divclass"htmledit\_views"<h1<aname"t0"</a一、JVM内存模型</h1<p</p<p<spanstyle"fontfamily:'宋体';"内存空间</span(RuntimeDataArea)中可以按照是否线程共享分为两块,线程共享的是方法区(MethodArea)和堆
Stella981 Stella981
3年前
Servlet学习笔记
目录数据共享关于ServletContext接口关于Cookie类关于HttpSession接口关于HttpServletRequest接口数据共享1.什么是数据共享?比如:OneServlet工作完毕后,将产生的数据交给TwoServlet使用
Easter79 Easter79
3年前
TiDB 在摩拜单车在线数据业务的应用和实践
作者:Mobike/技术研发部/基础平台中心丁宬杰胡明背景摩拜单车于2015年1月成立,2016年4月22日地球日当天正式推出智能共享单车服务,截至2017年11月中旬,已先后进入国内外超过180个城市,运营着超过700万辆摩拜单车,为全球超过2亿用户提供着智能出行服务,日订单量超过300
Stella981 Stella981
3年前
Linux挂载共享文件
mount方式挂载共享文件yuminstallcifsutils安装cifs工具包(用于取代被淘汰的smbfs)首先创建被挂载的目录:$mkdir/mnt/windows将共享文件夹挂载到windows文件夹:$sudomount.cifs //192.168.66.198/sharemnt/windows\
小白学大数据
小白学大数据
Lv1
男 · 亿牛云 · python技术
宁为代码类弯腰,不为bug点提交!
文章
85
粉丝
5
获赞
18