Python数据分析知乎热榜:解锁热门话题的秘密

2023-12-14 13:35:01

引言

介绍知乎热榜的概念和吸引力
本文的主题:使用Python分析知乎热榜数据
在这里插入图片描述

准备工作

说明使用Python进行爬虫需要的基本知识
列出所需的Python库和工具

分析知乎热榜数据

步骤1:发送HTTP请求获取页面内容

使用Python的requests库发送HTTP请求
分析知乎热榜页面的URL结构

步骤2:解析HTML页面

使用Beautiful Soup库解析HTML页面
提取热榜问题的标题、链接和热度

数据处理和分析

展示分析到的数据
分析热榜问题的关键词和热度趋势

结果可视化

使用Matplotlib或其他数据可视化库创建图表
展示热榜问题的热度排名和趋势

实操代码(重点来了)

安装mechanicalsoup:

pip install mechanicalsoup

完整实例:

from mechanicalsoup import StatefulBrowser
browser = StatefulBrowser()
browser.open("https://www.zhihu.com/billboard")  #知乎热榜
soup = browser.get_current_page()
items = soup.find_all("div", class_="HotList-itemTitle")
for i, item in enumerate(items, start=1):
    print(f"{i}.{item.get_text()}")

输出


输出:
1.中央经济工作会议举行,会议要求「明年要坚持稳中求进、以进促稳、先立后破」,释放了哪些信号?
2.碧桂园 4 名高管主动降薪,杨惠妍等年薪降至 12 万,高管配车及免费食堂均已取消,如何看待此次调整?
3.「长春高空抛物致死案」一审被告人被判死刑,被告人供述称「就想砸死别人来求死」,如何从法律角度解读此事?
4.「阿根廷特朗普」米莱启动「休克疗法」,将本币贬值 54%,将产生哪些影响?
5.北京发布暴雪橙色预警,1213 日起京津冀等地将出现大到暴雪,将带来哪些影响?如何做好应对?
6.24 考研人数下降,考公人数上涨,所以宇宙的尽头真的是考公考编吗?
7.如何看待 20231213 日 A 股市场情况?
8.福特蒙迪欧市区油耗低至 3.81L,是真的吗?
9.一个角色有 33% 的暴击率,每两次连续的攻击都不暴击时,第 3 次攻击必定暴击,怎么计算她的平均暴击率呀?
10.除了圆形还有方形,手机的镜头形状还有没有可能发展成别的图形?
11.什么才是真正的强大?
12.开暖气以后到底开加湿器还是除湿机?
13.市面上五花八门的颗粒板、生态板以及多层板,普通人在定制家居时到底该如何选材?
14.贵的取暖器和普通的取暖器在使用体验上到底有多大区别?
15.如何评价《爱的修学旅行》中,吴千语和施伯雄的相处?
16.微信支付宣布上线 「 先学后付 」 服务,消费者可在确认上课后进行付款,将会带来哪些影响?
17.怎么做才算是有效的精简护肤?
18.积分符号∫你们都是怎么念的,比如∫xdx,念作斜 summa 、长 s,还是积分?
19.拜登援乌表态从「需要多久,我们就支持多久」,改口到「我们能支持多久就多久」,暴露出了哪些信息?
20.著名女演员周海媚去世,曾饰演周芷若,她还有哪些角色和作品值得铭记?
21.城市遭遇暴风雪天气,作为居民,需要识别哪些潜在的危险并做好准备?
22.新冠变异株 JN.1 已在全球 12 国发现,多国快速蔓延,传染性、病症如何?
23.为什么岸本没有把开八门的剧情留给洛克李?
24.艺术能不能解决人生的问题?
25.暴风雪天气准备自驾出行,车辆需要做哪些准备?如果要储备一个出行应急包,可以加入哪些东西?
26.《原神》建模设计已经十分优秀,在流水明显下降的情况下(每个月二三十亿)为何不多出皮肤?
27.周海媚塑造过哪些经典角色?如何评价她的演技?
28.现在哪些手机摄影可以和照相机媲美?
29.2023 年,中国汽车出口总量将会成为全球第一吗?
30.在一众派对游戏中,你为什么选择了《蛋仔派对》?
31.为什么一战结束后法国极其厌战,而德国却十分恋战?
32.文笔挑战:花间一壶冷月酒,……。下一句你会怎么接?
33.《DOTA2》里的火枪是不是中路线霸?
34.人到中年如何穿的更显年轻?
35.暴雪、冰冻、寒潮预警齐发,华北、黄淮北部等地局地最低气温将接近或跌破历史同期极值,哪些信息值得关注?
36.联合国大会以压倒性票数通过决议,要求巴以立即停火,该决议能否为巴以局势带来改变?会产生哪些政治影响?
37.为什么现在的人越来越重视人居健康?
38.现在手机摄影功能究竟发展到了什么地步?
39.中国气象局提升应急响应至二级,中东部将现大范围雨雪和寒潮天气,有哪些影响?如何应对暴雪和低温极端天气?
40.有没有什么适合敏感肌的好用平价护肤产品?
41.为什么世界杯含金量比欧冠高?
42.明朝的火器水平和同时代的欧洲比起来如何?
43.胡润首次发布男企业家榜单,上榜门槛 640 亿元,拼多多创始人跻身前三,哪些信息值得关注?
44.美联储 12 月议息会议即将举行,降息预期升温催热金价,美联储降息会对全球经济带来哪些影响?
45.吉利、问界等多车企质疑懂车帝冬测,懂车帝回应「符合用户冬季用车场景,不存在区别对待」,测试结果可信吗?
46.你好,可以留下你喜欢的一首歌吗?
47.美国 11 月 CPI 同比增长 3.1%,为今年 6 月以来新低,符合市场预期,这一数据说明了什么?
48.带有梅字的古诗词有哪些?
49.在手机拍摄时,为什么我们经常被建议使用第三方摄像应用而非手机自带的摄像应用?
50.23-24 赛季 NBA 湖人 125:127 独行侠,如何评价这场比赛?

分析知乎招聘信息(打印网页log):

from playwright.sync_api import sync_playwright

def on_console_message(msg):
    print(msg.text)

#创建一个Playwright浏览器对象
with sync_playwright() as playwright:
    browser = playwright.chromium.launch()
    #创建一个新的浏览器上下文
    context = browser.new_context()
    #创建一个新的页面
    page = context.new_page()
    #监听并处理console消息
    page.on("console", on_console_message)
    #打开网页
    page.goto('https://www.zhihu.com')
    #关闭浏览器
    context.close()
输出:
          _____                    _____                    _____                    _____
         /\    \                  /\    \                  /\    \                  /\    \
        /::\____\                /::\    \                /::\    \                /::\    \
       /:::/    /                \:::\    \              /::::\    \              /::::\    \
      /:::/    /                  \:::\    \            /::::::\    \            /::::::\    \
     /:::/    /                    \:::\    \          /:::/\:::\    \          /:::/\:::\    \
    /:::/____/                      \:::\    \        /:::/__\:::\    \        /:::/__\:::\    \
   /::::\    \                      /::::\    \      /::::\   \:::\    \      /::::\   \:::\    \
  /::::::\    \   _____    ____    /::::::\    \    /::::::\   \:::\    \    /::::::\   \:::\    \
 /:::/\:::\    \ /\    \  /\   \  /:::/\:::\    \  /:::/\:::\   \:::\____\  /:::/\:::\   \:::\    \
/:::/  \:::\    /::\____\/::\   \/:::/  \:::\____\/:::/  \:::\   \:::|    |/:::/__\:::\   \:::\____\
\::/    \:::\  /:::/    /\:::\  /:::/    \::/    /\::/   |::::\  /:::|____|\:::\   \:::\   \::/    /
 \/____/ \:::\/:::/    /  \:::\/:::/    / \/____/  \/____|:::::\/:::/    /  \:::\   \:::\   \/____/
          \::::::/    /    \::::::/    /                 |:::::::::/    /    \:::\   \:::\    \
           \::::/    /      \::::/____/                  |::|\::::/    /      \:::\   \:::\____\
           /:::/    /        \:::\    \                  |::| \::/____/        \:::\   \::/    /
          /:::/    /          \:::\    \                 |::|  ~|               \:::\   \/____/
         /:::/    /            \:::\    \                |::|   |                \:::\    \
        /:::/    /              \:::\____\               \::|   |                 \:::\____\
        \::/    /                \::/    /                \:|   |                  \::/    /
         \/____/                  \/____/                  \|___|                   \/____/


结论

总结本文的主要内容和收获
强调Python爬虫在获取知乎热榜数据中的应用

后续步骤

探讨扩展爬虫功能的可能性
提示读者可以进一步探索和应用爬虫技术

参考文献

引用相关的Python库文档和爬虫教程

文章来源:https://blog.csdn.net/liaozp88/article/details/134990515
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。