一、准备工作
首先需要用到库有requests和pandas
在终端执行以下命令时,安装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 热榜标题: 新人初入职场感觉工作节奏快压力大,每天要进行心理建设才去上班,该怎么办?
爬取结束!