python获取知乎热搜数据

  • 一、获取目标、准备工作
  • 二、开始编码
  • 三、总结

一、获取目标、准备工作

1、获取目标: 本次获取教程目标:某乎热搜

2、准备工作

  • 环境python3.x
  • requests
  • pandas

requests跟pandas为本次教程所需的库,requests用于模拟http请求,pandas用于数据处理(将结果保存为Excel)。

  • 在Chrome浏览器中打开需要请求的页面,然后F12打开浏览器的控制台。点击Network选择网络,然后再点击XHR。找到相应的XHR请求,就能获取到热搜数据接口了。

二、开始编码

  1. 导入所依赖的库
import requests
import pandas as pd
  1. 构造一个请求头:
browse_header = {"Accept": "application/json, text/plain, */*","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36","Host": "www.zhihu.com","Referer": "https://www.zhihu.com/hot","Cookie": "_xsrf=Pd0NpG6J8kZdHtzBVnNyQP1g0rO7NKeg; _zap=d7f27b9f-4fe3-4ef4-9376-df278af16940;"
}
  1. 定义一个请求接口,即数据地址
url = "https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true"
  1. 发送请求,由于接口返回的是JSON格式,所以这里一步到位,将响应结果也转成JSON格式。
json = requests.get(url, headers=browse_header).json()
  1. 提取热搜数据列表。
# 热搜列表
content_list = res['data']
  1. 然后再分别进行json解析,对应的字段(标题、排名、热搜指数、描述、链接地址)。
df = pd.DataFrame(  # 拼装爬取到的数据为DataFrame{'热搜标题': title_list,'热搜排名': order_list,'热搜指数': score_list,'描述': desc_list,'链接地址': url_list}
)
df.to_excel('百度热搜榜.xlsx', index=False)  # 保存结果数据

注意:此份代码中,返回的链接地址有点区别,我们得稍加调整:调整如下:
url_list.append(content['target']['url'].replace('api', 'www').replace('questions', 'question'))

完整代码:

import requests
import pandas as pdbrowse_header = {"Accept": "application/json, text/plain, */*","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36","Host": "www.zhihu.com","Referer": "https://www.zhihu.com/hot","Cookie": "_xsrf=Pd0NpG6J8kZdHtzBVnNyQP1g0rO7NKeg; _zap=d7f27b9f-4fe3-4ef4-9376-df278af16940;"
}url = "https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true"res = requests.get(url, headers=browse_header).json()
# 热搜列表
content_list = res['data']
title_list = []
order_list = []
score_list = []
desc_list = []
url_list = []
index = 0
for content in content_list:index += 1order_list.append(index)title_list.append(content['target']['title'])score_list.append(content['detail_text'])desc_list.append(content['target']['excerpt'])url_list.append(content['target']['url'].replace('api', 'www').replace('questions', 'question'))df = pd.DataFrame({'热搜标题': title_list,'热搜排名': order_list,'热搜热度': score_list,'描述': desc_list,'链接地址': url_list
})
df.to_excel('知乎热搜榜.xlsx', index=False)  # 保存结果数据

最后,查看一下获取到的数据:

一共50条数据。

三、总结

以上就是整个获取的数据,如果你们有其他数据需要用python获取的,欢迎在评论区留言。最后给你们推荐一个前端JS实用工具:JS在线工具。

python获取某乎热搜数据并保存成Excel相关推荐

  1. python获取某博热搜数据并保存成Excel

    python获取某博

  2. python爬取微博热搜数据并保存!

    主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...

  3. Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中

    hello,大家好,我是wangzirui32,今天我们来学习如何爬取CSDN热搜数据,并保存到Excel表格中. 开始学习吧! 学习目录 1. 数据包抓取 2. 编写代码 1. 数据包抓取 打开CS ...

  4. Python爬取微博热搜数据之炫酷可视化

    可视化展示 看完记得点个赞哟 微博炫酷可视化音乐组合版来了! 项目介绍 背景 现阶段,微博.抖音.快手.哗哩哗哩.微信公众号已经成为不少年轻人必备的"生活神器".在21世纪的今天, ...

  5. 用Python爬取微博热搜数据

    废话少说,直接上代码,然后再详细介绍构造过程. 代码 import urllib.request import re import pandas as pd import time import ra ...

  6. python爬虫数据怎么保存成excel代码

    你可以使用Python中的pandas库将爬虫数据保存为Excel文件.以下是一些示例代码,可以帮助你完成这项任务: import pandas as pd# 创建DataFrame,存储你的爬虫数据 ...

  7. 【Python】我用python爬取一月份微博热搜数据来分析人们对新型肺炎的关注程度变化

    2020年1月23日,睡醒一觉,发现新型肺炎的影响正在以肉眼可见的速度扩散,已经放假的我只能宅在家里,不敢随便外出.实在闲得无聊,我便拿起了技术人的工具,利用python,用数据来简单分析一波新型肺炎 ...

  8. python用akshare批量爬取金融数据并保存为excel格式

    python用akshare批量爬取数据并保存为excel格式 爬取的网站为http://vip.stock.finance.sina.com.cn/mkt/#hs_a的历史数据 首先,确定好你 下载 ...

  9. 【Python】爬虫获取微博热搜数据,response中文显示“\u7814\u7a76\u8bc1\u5b9e\u”

    问题描述 在爬虫获取微博热搜数据的时候,response中文出现了不便于理解的字段,截取如下: ......[{"title_sub":"\u7814\u7a76\u8b ...

最新文章

  1. 巧用close_trace命令释放误删trace文件
  2. 使用 jetty-maven-plugin发布maven项目
  3. 根据相机内参进行图像去畸变
  4. centos7无法使用epel的解决方法
  5. python接口自动化(九)--python中字典和json的区别(详解)
  6. Linux进不了进程,既然在Linux中程序不是进程,那么到底什么才算是进程呢?
  7. springboot 全局捕获异常
  8. 笔记 Activator.CreateInstance(Type)
  9. 【SPFA】腾讯大战360
  10. 网站推广教程(SEO,优化)100条
  11. Android开机画面的修改
  12. 安装oracle客户端此先决条件,xp系统下oracle 11g客户端安装先决条件检查全部失败...
  13. js 不用onload的loding
  14. CREO导出CAD比例不对-解决方法
  15. 生活小剧场30天吸粉44w,小红书最受欢迎的笔记长这样
  16. 启动计算机引导windows10,Win10系统引导项丢失了怎么办?修复Win10系统启动引导项的方法...
  17. OpenCV -5 -GoogLeNet模型使用及CNN理论
  18. scrapy实现链家二手房的数据获取并进行持久化存储
  19. sparksql java_JAVASparkSQL
  20. vue3+Echart

热门文章

  1. [GKCTF 2021]RRRRsa
  2. 模具设计如何能够快速入门
  3. 『小程序开发』关于微信小程序扫普通链接二维码打开小程序的具体配置流程...
  4. 联通计算机专业知识,联通笔试经验分享
  5. 畅想——基于区块链的经济体系
  6. 自建Sentry后邮件服务收不到邮件
  7. 通过阿里云API动态修改域名解析记录
  8. java原生Excel单元格合并自定义导出
  9. Modbus TCP通信协议详解
  10. 对自适应拉普拉斯机制的理解