python获取某乎热搜数据并保存成Excel
python获取知乎热搜数据
- 一、获取目标、准备工作
- 二、开始编码
- 三、总结
一、获取目标、准备工作
1、获取目标: 本次获取教程目标:某乎热搜
2、准备工作
- 环境python3.x
- requests
- pandas
requests跟pandas为本次教程所需的库,requests用于模拟http请求,pandas用于数据处理(将结果保存为Excel)。
- 在Chrome浏览器中打开需要请求的页面,然后F12打开浏览器的控制台。点击Network选择网络,然后再点击XHR。找到相应的XHR请求,就能获取到热搜数据接口了。
二、开始编码
- 导入所依赖的库
import requests
import pandas as pd
- 构造一个请求头:
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;"
}
- 定义一个请求接口,即数据地址
url = "https://www.zhihu.com/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true"
- 发送请求,由于接口返回的是JSON格式,所以这里一步到位,将响应结果也转成JSON格式。
json = requests.get(url, headers=browse_header).json()
- 提取热搜数据列表。
# 热搜列表
content_list = res['data']
- 然后再分别进行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相关推荐
- python获取某博热搜数据并保存成Excel
python获取某博
- python爬取微博热搜数据并保存!
主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...
- Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中
hello,大家好,我是wangzirui32,今天我们来学习如何爬取CSDN热搜数据,并保存到Excel表格中. 开始学习吧! 学习目录 1. 数据包抓取 2. 编写代码 1. 数据包抓取 打开CS ...
- Python爬取微博热搜数据之炫酷可视化
可视化展示 看完记得点个赞哟 微博炫酷可视化音乐组合版来了! 项目介绍 背景 现阶段,微博.抖音.快手.哗哩哗哩.微信公众号已经成为不少年轻人必备的"生活神器".在21世纪的今天, ...
- 用Python爬取微博热搜数据
废话少说,直接上代码,然后再详细介绍构造过程. 代码 import urllib.request import re import pandas as pd import time import ra ...
- python爬虫数据怎么保存成excel代码
你可以使用Python中的pandas库将爬虫数据保存为Excel文件.以下是一些示例代码,可以帮助你完成这项任务: import pandas as pd# 创建DataFrame,存储你的爬虫数据 ...
- 【Python】我用python爬取一月份微博热搜数据来分析人们对新型肺炎的关注程度变化
2020年1月23日,睡醒一觉,发现新型肺炎的影响正在以肉眼可见的速度扩散,已经放假的我只能宅在家里,不敢随便外出.实在闲得无聊,我便拿起了技术人的工具,利用python,用数据来简单分析一波新型肺炎 ...
- python用akshare批量爬取金融数据并保存为excel格式
python用akshare批量爬取数据并保存为excel格式 爬取的网站为http://vip.stock.finance.sina.com.cn/mkt/#hs_a的历史数据 首先,确定好你 下载 ...
- 【Python】爬虫获取微博热搜数据,response中文显示“\u7814\u7a76\u8bc1\u5b9e\u”
问题描述 在爬虫获取微博热搜数据的时候,response中文出现了不便于理解的字段,截取如下: ......[{"title_sub":"\u7814\u7a76\u8b ...
最新文章
- 巧用close_trace命令释放误删trace文件
- 使用 jetty-maven-plugin发布maven项目
- 根据相机内参进行图像去畸变
- centos7无法使用epel的解决方法
- python接口自动化(九)--python中字典和json的区别(详解)
- Linux进不了进程,既然在Linux中程序不是进程,那么到底什么才算是进程呢?
- springboot 全局捕获异常
- 笔记 Activator.CreateInstance(Type)
- 【SPFA】腾讯大战360
- 网站推广教程(SEO,优化)100条
- Android开机画面的修改
- 安装oracle客户端此先决条件,xp系统下oracle 11g客户端安装先决条件检查全部失败...
- js 不用onload的loding
- CREO导出CAD比例不对-解决方法
- 生活小剧场30天吸粉44w,小红书最受欢迎的笔记长这样
- 启动计算机引导windows10,Win10系统引导项丢失了怎么办?修复Win10系统启动引导项的方法...
- OpenCV -5 -GoogLeNet模型使用及CNN理论
- scrapy实现链家二手房的数据获取并进行持久化存储
- sparksql java_JAVASparkSQL
- vue3+Echart