Python爬虫实战系列:如何爬取某乎热搜榜单

这篇具有很好参考价值的文章主要介绍了Python爬虫实战系列:如何爬取某乎热搜榜单。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

内容涵盖分析目标网页地址、构造请求头、解析JSON响应数据、抓取关键信息(如热榜排名、标题、描述、链接、热度值和回答数),并最终将结果导出到CSV文件。适合对Python爬虫感兴趣的开发者和数据分析师。

1. 分析爬取地址

打开某乎首页,点击热榜
python,python爬虫,python爬虫实战示例代码
这个就是我们需要爬取的地址,取到地址某乎/api/v3/feed/topstory/hot-lists/total?limit=50&desktop=true
定义好请求头,从Accept往下的请求头全部复制,转换成jsonpython,python爬虫,python爬虫实战示例代码

headers = {
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cookie': '你的请求头中的cookie',
    'Sec-Ch-Ua': 'Not/A)Brand\';v=\'99\', \'Google Chrome\';v=\'115\', \'Chromium\';v=\'115',
    'Sec-Ch-Ua-Mobile': '?0',
    'Sec-Ch-Ua-Platform': 'Windows',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36',
    'X-Ab-Param': '',
    'X-Ab-Pb': 'CgInBxIBAA==',
    'X-Api-Version': '3.0.76',
    'X-Requested-With': 'fetch',
    'X-Zse-93': '101_3_3.0',
    'X-Zse-96': '2.0_6hUp=vt8=9zOcwtPHcLjutT0sL2PhwOPys0v=fvQr7yneBCmMO2zkvXcYfoc5esu'
}

2. 分析请求结果

通过请求可以看出,hot-lists/total?limit=50&desktop=true请求后的返回参数直接是json格式,则不需要单独处理python,python爬虫,python爬虫实战示例代码
定义好需要抓取的参数按元素获取即可

    order_list = []  # 热榜排名
    title_list = []  # 热榜标题
    desc_list = []  # 热榜描述
    url_list = []  # 热榜链接
    hot_value_list = []  # 热度值
    answer_count_list = []  # 回答数
    data_list = json_data['data']
    order = 1  # 热榜排名初始值

GET请求接口

    response = requests.get(url=url, headers=headers)
    json_data = response.json()

循环数组json并赋值

        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```
将结果导出到csv,注意定义一下编码集为utf_8_sig
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')

3. 结果验证

注意:如果请求返回的json格式乱码,调整请求头Accept-Encoding,去掉br后即可

python,python爬虫,python爬虫实战示例代码文章来源地址https://www.toymoban.com/news/detail-667089.html

到了这里,关于Python爬虫实战系列:如何爬取某乎热搜榜单的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium爬虫框架爬取某壁纸网站

    基础知识 环境配置 开始爬虫 简单分析目标网站 写函数 获取浏览器对象: 下载每一张图片: 获取每一页的源代码: 运行print_result_every_page python基础语法 面向对象基础 html基础 xpath基础 selenium框架的基本使用 request库 lxml库      3.安装浏览器xpath插件         打开谷歌浏览

    2024年02月05日
    浏览(43)
  • Python爬虫之Scrapy框架系列(23)——分布式爬虫scrapy_redis浅实战【XXTop250部分爬取】

    先用单独一个项目来使用scrapy_redis,讲解一些重要点!

    2024年02月16日
    浏览(55)
  • 【爬虫】一次爬取某瓣top电影前250的学习记录

    先贴上爬取的脚本: import requests import re for i in range(1,11):     num=(i-1)*25     url=f\\\"https://movie.douban.com/top250?start={num}filter=\\\"     head={\\\"User-Agent\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36\\\"}#伪造请求头     res=requests.get(url,headers=head)    

    2024年02月06日
    浏览(52)
  • 爬虫之牛刀小试(十):爬取某宝手机商品的销量,价格和店铺

    首先淘宝需要登录,这一点如果用selenium如何解决,只能手动登录?如果不用selenium,用cookies登录也可。但是验证码又是一个问题,现在的验证码五花八门,难以处理。 我们回到正题,假设你已经登录上淘宝了,接着我们需要找到输入框和搜索按钮,输入“手机”,点击搜索

    2024年04月10日
    浏览(62)
  • 【python】爬取知乎热榜Top50保存到Excel文件中【附源码】

    欢迎来到英杰社区 https://bbs.csdn.net/topics/617804998     这篇博客将介绍如何使用Python编写一个爬虫程序,从斗鱼直播网站上获取图片信息并保存到本地。我们将使用 request s 模块发送HTTP请求和接收响应,以及 os 模块处理文件和目录操作。         如果出现模块报错      

    2024年02月03日
    浏览(56)
  • python 爬取某站视频

    也是感觉好久都没有写博客了,主要是因为学业繁忙(其实是想多摆烂一会儿。。。) 距离暑假还有一个月,各科老师也开始布置相关的期末考试内容了。。。。。。 最近英语老师给我们留了一个期末作业(大学牲又要忙起来了),内容是拍摄一个短视频,既然是视频那素

    2024年02月04日
    浏览(44)
  • python批量爬取某站视频

    前言: 本项目是批量下载B站如下图示例的视频: (家里的小孩想看动画片,就下载到U盘上在电视上给他们放。。。) 在这个项目中,涉及到的模块有以下几个: 1.shutil: Python 标准库中的一个模块,用于文件操作,包括复制、移动、删除文件等。在这个项目中,主要用于创

    2024年02月20日
    浏览(43)
  • python爬虫实战——小说爬取

    基于 requests 库和 lxml 库编写的爬虫,目标小说网站域名http://www.365kk.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。 目标网站 :传送门 本文的目标书籍 :《我的师兄实在太稳健了》 “渡劫只有九成八的把握,和送死有什么区别?” 网络爬虫的工作实际上主要分为

    2024年02月06日
    浏览(44)
  • 使用python爬取某专科学校官方信息

    导入模块和代理设置:脚本开始时导入了必要的模块,如 csv, os, re, time, urllib.parse 中的 urljoin,bs4 中的 BeautifulSoup 和 selenium 中的 webdriver。同时为 HTTP 和 HTTPS 设置了代理。 CSV文件初始化:打开一个名为 ‘fzmjtc.csv’ 的CSV文件,用于存储提取的数据。文件以 UTF-8 编码写入,通

    2024年01月18日
    浏览(37)
  • Python爬虫实战——爬取新闻数据(简单的深度爬虫)

            又到了爬新闻的环节(好像学爬虫都要去爬爬新闻,没办法谁让新闻一般都很好爬呢XD,拿来练练手),只作为技术分享,这一次要的数据是分在了两个界面,所以试一下深度爬虫,不过是很简单的。  网页url 1.先看看网站网址的规律  发现这部分就是每一天的新闻

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包