爬取知乎热榜

一、准备工作

首先需要用到库有requestspandas

在终端执行以下命令时,安装requests和pandas

pip install requests
pip install pandas

爬取网站的链接:知乎 - 有问题,就会有答案

爬取的内容:知乎热榜的热榜排名, 热榜标题, 热榜链接, 热度值, 回答数, 热榜描述。

二、爬取代码

# 程序功能:爬取知乎热榜
import requests
import pandas as pd

# 接口地址
url = "https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true"

# 构造请求头
headers = {
    'Accept': '*/*',
    'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
    'Accept-Encoding': 'gzip, deflate, br',
    'Host': 'www.zhihu.com',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15',
    'Referer': 'https://www.zhihu.com/hot',
    'Connection': 'keep-alive',
    'Cookie': '_zap=f6310577-d63a-4df4-8263-9e41999c8fca; d_c0=AICTzWOoaBePTint8BYCFO9yQlc0I9lcCEw=|1694940455; YD00517437729195%3AWM_TID=bi28%2B5QKnNxBEQAVREfVm%2BLQdDP2Ftkh; _xsrf=0da65aa6-221e-4be6-940f-435bce0027d7; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1700139759,1700140535,1700293393; captcha_session_v2=2|1:0|10:1700293393|18:captcha_session_v2|88:bDMyRmJhbnRXOGZ4NGZGTmlPS2Y5WFhGdDYwUi9GMk5wajBaYUxFNkllK0crYjY5MGNEZ0tWUmZqQzZzR1g2MA==|93a4c1b5fe7ef20be780fae797ede470984e709e4d2f515fe80e2fd6a69517e1; __snaker__id=9i1VSHGFwTxlNPWw; gdxidpyhxdE=g92%2F%2FaWDkkxyZnavG3%2BJXaYBG1WQPM%2BXrYYZ%2Bx4l6kMEGzdsZv3oSmTd%2BwTj1vIrqivee%2BlThTHwY3V8HHNu1GJuJLK4EQhlWUQ7rviMVenTYacpBgUj2It17wcHS%5Ct0%2FgzKQySAXZpTVhZ2m7b3wDzYLAwDMeRDLuhsMrL3D%5CJl50%2BY%3A1700294294882; YD00517437729195%3AWM_NI=TRcDCrUq6PUHMD%2FqohwFQUoGM8HN8oOR%2Fxufc9m4Eo7LAW1SvbuwKbZwBMPXW5A4YKHI6UD7TTj8dyhxf9VaNi%2FX7O17Lz3BqpReKfCQDUkIuqXH6AnNh0EeNkdB%2BYOiako%3D; YD00517437729195%3AWM_NIKE=9ca17ae2e6ffcda170e2e6eeb2f86df39c99b0bb5aae928bb6d14e979e9e87d473b3b89887c47db598a2b5b32af0fea7c3b92a988eada5c27a97affab1d8448f9ce192ee64b59a9fb6ee4d8fe888afbb658d8ee199f86ea1e7a3d5c865f5948fb8b459b6bebb98ca6a9aa98eaed35495eb8fd5dc418c97fab6c73d988ca6d9e773aca8aadad56b8eb7e1b9b645f3e9849bb24ab3b09e86ca6e818f8cb6ea43b7af98a9b54bae92a8d1c86f8eb5aca3aa538db7af8cee37e2a3; q_c1=d3ea052f93664bff907ede434d84c5e3|1700293420000|1700293420000; z_c0=2|1:0|10:1700293423|4:z_c0|92:Mi4xd1QzMFBBQUFBQUFBZ0pQTlk2aG9GeVlBQUFCZ0FsVk5LN2xGWmdEQlF1c2t4NnJLb0t0eWZGckJad0JKMVU1LVFR|bfd3bc63f37d45cccc8b6a2cda73a3a81c29c157fa7b942583f778aabdb8e13a; tst=h; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1700306122; SESSIONID=q1IoFtQcGsPiqMrUzMZF76uyMGQytYqIqxdQ1wvJAqq; KLBRSID=0a401b23e8a71b70de2f4b37f5b4e379|1700306123|1700306120; JOID=U1kcBEmPCoMaYvwrEIk5mV92354P_jPEcCeIcn3Ledt9FrJZTUyQ0Hlh9C0bOoWx6iQo88mles_JolMBDp8tKbQ=; osd=V1kXB0uLCogZYPgrG4o7nV993JwL_jjHciOIeX7Jfdt2FbBdTUeT0n1h_y4ZPoW66SYs88KmeMvJqVADCp8mKrY=',
    'x-ab-pb': 'CgQnB/gMEgIAAA==',
    'x-requested-with': 'fetch',
    'x-zst-81': '3_2.0aR_sn77yn6O92wOB8hPZn490EXtucRFqwHNMUrL8YunpELY0w6SmDggMgBgPD4S1hCS974e1DrNPAQLYlUefii_qr6kxELt0M4PGDwN8gGcYAupMWufIoLVqr4gxrRPOI0cY7HL8qun9g93mFukyigcmebS_FwOYPRP0E4rZUrN9DDom3hnynAUMnAVPF_PhaueTF8Lme9gKSq3_BBOG1UVmggHYFJefYqeYfhO_rTgBSMSMpGYLwqcGYDVfXUSTVHefr_xmBq399qX0jCgKNcr_cCSmi9xYvhoLeXx18qCYEw3Of0NLwuc8TUOpS8tMdCcGuCo8kCp_pbLf6hgO_JVKXwFY2JOLG7VCSXxYqrSBICL_5GxmOg_z6XVxqBLfMvxqYDuf3DOf6GLGhDHCbRxO0qLpTDXfbvxCSAH0BhCmJ4NmRBY8rJwB6MS124SqKuo_ywS8ACtBfqwC8XC9QA3KxCepuuCYXhLyWgNCuwYs',
    'x-zse-93': '101_3_3.0',
    'x-api-version': '3.0.76',
    'x-zse-96': '2.0_CkAT7RdDtmW9PikRDfWa4CZIMx50XeUMQ7r34wP2JRAtFiCKXsSmoxCzrKWi2nJ1'
}
# 发送请求
r = requests.get(url, headers=headers)
# 查看响应码
print(r.status_code)
# 用json接收请求数据
json_data = r.json()
# 定义空列表
order_list = []  # 热榜排名
title_list = []  # 热榜标题
desc_list = []  # 热榜描述
url_list = []  # 热榜链接
hot_value_list = []  # 热度值
answer_count_list = []  # 回答数
data_list = json_data['data']
order = 1 # 热搜排名初始值
for data in data_list:
    # 热榜排名
    order_list.append(order)
    # 热榜标题
    title = data['target']['title_area']['text']
    print(order, '热榜标题:', title)
    title_list.append(title)
    # 热榜描述
    desc_list.append(data['target']['excerpt_area']['text'])
    # 热榜链接
    url_list.append(data['target']['link']['url'])
    # 热榜值
    hot_value_list.append(data['target']['metrics_area']['text'])
    # 回答数
    answer_count_list.append(data['feed_specific']['answer_count'])
    order += 1
# 拼装爬取到的数据为DataFrame
df = pd.DataFrame(
    {
        '热榜排名': order_list,
        '热榜标题': title_list,
        '热榜链接': url_list,
        '热度值': hot_value_list,
        '回答数': answer_count_list,
        '热榜描述': desc_list,
    }
)
# 保存结果到csv文件
df.to_csv('知乎热榜.csv', index=False, encoding='utf_8_sig')
print('爬取结束!')

三、运行结果

1 热榜标题: 央行等三部门重磅发声,对正常经营的房地产企业不惜贷、抽贷、断贷,离岸在岸人民币走高,哪些信息值得关注?
2 热榜标题: 《亮剑》李云龙为啥给魏和尚那么多子弹,却不分给队里的神枪手?
3 热榜标题: 23-24 赛季 NBA 快船 106:100 火箭,哈登 3+1 绝杀火箭,如何评价这场比赛?
4 热榜标题: 为何二战日本轰炸机的载弹量普遍很低?
5 热榜标题: S13 总决赛上的 T1 实力这么强,为什么却打不过 GEN?
6 热榜标题: 如何看待网易 2023 年第三季度游戏营收高达 218 亿元,同比增长 16.5%,有哪些趋势值得关注?
7 热榜标题: 为什么传说的数学天才这么多,千禧年七大难题才解出一个?
8 热榜标题: 23-24 赛季 NBA 湖人 107:95 开拓者,如何评价这场比赛?
9 热榜标题: 孙悟空打得过姜子牙吗?
10 热榜标题: 站桩的最大的秘诀是什么呢?
11 热榜标题: 全球总决赛上 LPL 队伍面对 T1 的 BO5 赛事十年来未尝一胜究竟是什么原因?
12 热榜标题: 日本花样滑冰运动员羽生结弦社媒发文宣布离婚,距结婚仅 3 个月,哪些信息值得关注?
13 热榜标题: 报道称深圳正威最大产业园停产,员工放假两个月,哪些信息值得关注?
14 热榜标题: 不提雪,怎么描述雪很大?
15 热榜标题: 二战期间发生过哪些非常有趣的事情?
16 热榜标题: 是不是年轻人都喜欢用 26 键而非 9 键?
17 热榜标题: 《原神》出了冰法之后怎么避免无限冻结带来的影响?
18 热榜标题: 新能源时代底盘还重要吗?
19 热榜标题: 继 OpenAI CEO 奥特曼被罢免后,总裁格雷格也已经辞职,如何看待这些变动?对该公司有何影响?
20 热榜标题: 人工智能和区块链会合流么?如是,会导致什么影响?
21 热榜标题: 现在 AI 作曲已经普及,将来普通人进入音乐行业的门槛是否会降低?
22 热榜标题: 博士们除了科研之外如何培养其他的兴趣爱好?
23 热榜标题: RPG 游戏《动物迷城》抢先体验版现已发售登陆 Steam,如何评价这款游戏?
24 热榜标题: 回乡种上二亩田,清茶小酒度余年,乡间种地真的很清闲吗?
25 热榜标题: 皇马中场贝林厄姆荣膺 2023 年金童奖,如何评价他的表现?
26 热榜标题: 自动化生产剩余价值从哪里来?可变成本去哪了?
27 热榜标题: 间歇跳绳可以替代间歇跑吗?
28 热榜标题: 如何看待《王者荣耀》王昭君新皮肤「永恒水手月亮」联动美少女战士?
29 热榜标题: 35 岁的我感觉进入职业倦怠期,不敢离职却又厌倦上班,该怎么办?
30 热榜标题: 独自一个人去旅游是一种什么样的体验?
31 热榜标题: 现在做电商除了直播和短视频,还有什么低门槛的带货方式吗?
32 热榜标题: 如何看待 2023 年 11 月 17 日 A 股市场?
33 热榜标题: 当《崩坏:星穹铁道》的不同角色被困在绥园的镜中世界,会发生怎样的故事?
34 热榜标题: 年收入 20-30 万左右,女生,适合买什么车?
35 热榜标题: 花有清香,诗有音韵。有哪些含花草树木的诗句?
36 热榜标题: 某跨境电商企业冲刺境外上市,监管规则及备案标准有哪些需要关注?
37 热榜标题: 2026 世预赛,中韩之战双方大名单公布,韩国 F4 入选,国足韦世豪领衔,你对本场比赛有何期待?
38 热榜标题: 如何看待今年「双 11」跨境商家订单暴涨,增长率远超国内的现象?背后原因有哪些?
39 热榜标题: 如何通过技术手段让数据库实现极致性能与最优成本的双重平衡?
40 热榜标题: 如何看待海底捞取消半份菜的规定?这会带来哪些影响?
41 热榜标题: 台军轻型护卫舰原型舰开工,预计 2026 年完工交付,如何评价该造舰项目?
42 热榜标题: 2023 广州车展上有哪些值得期待的「宝藏车」?
43 热榜标题: 国家卫健委发文,严厉打击倒买倒卖、伪造出生医学证明等违法犯罪行为,将起到哪些震慑作用?
44 热榜标题: 极氪 007 官图发布,感觉如何,是你喜欢的样子吗?
45 热榜标题: 美国国防部连续第六年未能通过年度审计,审计人员发现其一半资产无法入账,有哪些信息值得关注?
46 热榜标题: 《王者荣耀》你最害怕哪个英雄?
47 热榜标题: 适合工作日的运动健身方式是什么?
48 热榜标题: 最新发布的 vivo X100 系列真实体验如何?3999 元起是否值得购买?
49 热榜标题: 昔日千亿房企泰禾集团退市,旗下产品折价拍卖,杭州 3800 万元豪宅无人接盘,哪些信息值得关注?
50 热榜标题: 新人初入职场感觉工作节奏快压力大,每天要进行心理建设才去上班,该怎么办?
爬取结束!


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于selenium对知乎热搜榜进行爬虫并可视化python源码+项目说明+数据集.zip ## 1.Requirements: 打开文件夹, 在地址栏输入 %comspec% 并按回车 ![image-20200613122022518](https://user-images.githubusercontent.com/60550888/84560905-9bd0f700-ad7a-11ea-97df-b1fdab857edc.png) 这样可以在当前目录下打开cmd ![image-20200613122113348](https://user-images.githubusercontent.com/60550888/84560912-b99e5c00-ad7a-11ea-81a1-ceb35c124324.png) 命令行输入`pip install -r requirements.txt` 并回车,安装所需要的库 ![image-20200613123008622](https://user-images.githubusercontent.com/60550888/84560929-ed798180-ad7a-11ea-89c5-ab60efcf118f.png) 之后打开 **zhihu_crawler.py**, 将webdriver设置成自己的绝对地址,并保存 ![image-20200613123234436](https://user-images.githubusercontent.com/60550888/84560942-113cc780-ad7b-11ea-9b67-11e76e6f3331.png) 然后打开**selenium_login.py**, 进行同样的操作,并输入你的知乎的账号和密码,并保存 ![image-20200613123427592](https://user-images.githubusercontent.com/60550888/84560954-26b1f180-ad7b-11ea-9f7c-5d1afffe7890.png) 最后打开 **main.py** , 进行同样的操作,并保存 ......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值