Python实时爬取知乎热榜 l 热点神器

一、爬取目标

Python实时爬取知乎热榜 l 热点神器

二、完整源码

#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#
# Copyright (c) 2024 愤怒的it, All Rights Reserved.
# FileName : code.py
# Date : 2024.01.22
# Author : 愤怒的it
# Version : 1.0.0
# Node : 欢迎关注微信公众号【愤怒的it男】
#
#""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

import csv
import json
from lxml import etree
import requests
from tabulate import tabulate

def getData(baseUrl, headers):
    response = requests.get(url=baseUrl, headers=headers)
    html = etree.HTML(response.text)
    billboard = html.xpath("//script[@id='js-initialData']/text()")[0]
    data = json.loads(billboard)['initialState']['topstory']['hotList']
    result = []
    for i,d in enumerate(data):
        target = d['target']
        index = str(i+1)
        title = target['titleArea']['text']
        metrics = target['metricsArea']['text']
        excerpt = target['excerptArea']['text']
        result.append([index,title,metrics,excerpt])
    return result

def printData(result):
    headers = ["排名""标题""热度""摘要"]
    table = tabulate(result, headers=headers, maxcolwidths=[None50None80], tablefmt='grid')
    print(table)

def saveData(result):
    with open('知乎热榜.csv''w', encoding='utf-8', newline=''as file:
        writer = csv.writer(file)
        writer.writerows(result)

def main():
    baseUrl = 'https://www.zhihu.com/billboard'
    headers = {'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    result = getData(baseUrl, headers)
    printData(result)
    saveData(result)
    
if __name__== "__main__" :
    main()

三、爬取结果

+--------+----------------------------------------------------+------------+----------------------------------------------------------------------------------+
| 排名 | 标题 | 热度 | 摘要 |
+========+====================================================+============+==================================================================================+
|      1 | 日股重返亚洲第一,透露出哪些信息?日股为何能持续得916 万热度1  15 日,日经指数 34 年来首次突破 36000 大关,创下 22                         |
| | 到全球投资者的青睐? | | 个月以来的最佳表现。东证指数当天也上涨 1.22%,在盘中触及 34                      |
| | | | 年来的新高,目前总市值已超过上海证交所,重返亚洲第一。 2012 年,时年 58 岁的安倍 |
| | | | 晋三再次出任日本首相,上马还未坐稳,便张开其「安倍经济学」的大弓,向日本沉寂多年 |
| | | | 的经济射出三支利箭:宽松货币政策、扩大财政指出、促进结构性改革,以挽救该国此前近 |
| | | | 30 年的颓势。 30 年前,日本经济如日中天,本国投资者正在全球范围内投资收购各类优 |
| | | | 质资产,经济体量不断扩大。然而在美苏冷战的背景下,1985 年,在美、德、英、法带领 |
| | | | 下,时任首相田中角荣半推半就地签署了广场协议,全球五大经济体通过强制手段迫使日元 |
| | | | 升值,以对抗全球,尤其是欧美的通胀潮。随后,日本政府又推出了一系列南辕北辙的刺激 |
| | | | 经济的政策,促生大量经济泡沫并在 90 年代迅速破溃。此后几十年间,日本企业高管一直 |
| | | | 心有余悸,投资也墨守成规,导致经济几乎没有增长。 日经 225 指数是 2023            |
| | | | 年全球表现最好的主要股指。 尽管有过热迹象,日本股市仍持续收到全球投资者的青睐。 |
| | | | 彭博社援引日本财务省数据报道,外国投资者上周净买入日股 1.2 万亿日元(约合人民币 |
| | | | 580 亿元),不仅创日本三个月以来新高,相比国际上其他的主要股市,也是能领跑全球的 |
| | | | 不俗表现。 包括贝莱德、花旗、摩根士丹利在内的投行巨头甚至宣布,日本将由此迈入「 |
| | | | 永久性牛市」。 难道,这条沉睡多年的「亚洲四小龙」,真的要「走出失去的三十年」了 |
| | | | 吗?安倍的「三支箭」,岸田的「回旋镖」 日股收到全球股民热捧,其实并不令人意外。 |
| | | | 这种乐观情绪,一部分源自日本经济持续向好的基本盘。日本长期存在问题的两个方面:国 |
| | | | 内生产总值(GDP)和通货膨胀,都取得了长足进步。 2023  8                        |
| | | | 月,日本内阁府公布第二季度的 GDP 数据。剔除物价水平影响,日本实质 GDP 增速 |
| | | | 1.5%,年率居然达到了惊人的 6.0% 增速,远超第一季度的 2.7%,也远超市场预期的 |
| | | | 4.2%。日股重返亚洲第一,投资者为何愿意相信日本?_ 全球 _ 日元 _ 经济学 |
+--------+----------------------------------------------------+------------+----------------------------------------------------------------------------------+
|      2 | 怎么评价 Steam | 915 万热度 | |
| | 刚发售的游戏《幻兽帕鲁》爆火几十万人在线? | | |
| | 这款游戏好玩在哪? | | |
+--------+----------------------------------------------------+------------+----------------------------------------------------------------------------------+
|      3 | 俄罗斯一共和国发生「大规模骚乱」,当地具体情况如何210 万热度 | 参考消息网 1  18 日报道据俄新社 1  17 日报道,俄罗斯巴什科尔托斯坦共和国已就 |
| | | | 拜马克市法院大楼发生的大规模骚乱提起刑事诉讼。 调查委员会在「电报」社交平台上发 |
| | | | 布消息称:「在大规模骚乱期间发生包括使用各种物品作为武器袭击在内的暴力事件,造成 |
| | | | 包括执法人员在内的数人受伤。」 报道称,有关部门根据相关法律条款立案调查。目前, |
| | | | 调查人员和警方正在确定所有涉案人员的身份。 报道称,17 日,法院大楼出现聚集者,他 |
| | | | 们要求不追究当天被判刑四年的阿尔奇诺夫的刑事责任。根据刑法关于「煽动仇恨或敌意以 |
| | | | 及侮辱人格尊严」的条款,阿尔奇诺夫被判有罪。法院认定,去年 4 月底,此人在一次集 |
| | | | 会上发表讲话,其言论侮辱了高加索人、亚美尼亚人和中亚人。相关判决尚未生效。 |
| | | | 据报道,16 日,俄联邦金融监督局将阿尔奇诺夫列入恐怖分子和极端分子名单,原因是其 |
| | | | 加入了被俄禁止的极端组织「巴什科尔特」。(编译 / |
| | | | 黎然)俄媒:俄一共和国发生「大规模骚乱」_ 阿尔奇诺夫 _ 调查 _ 执法人员 |
+--------+----------------------------------------------------+------------+----------------------------------------------------------------------------------+
|      4 | 男子买烟后自称未成年向店家索赔 1 万,律师「系勒索106 万热度 | 律师谈男子买烟后称未成年索赔 1 万:系勒索,或追究刑事责任 1  18 日,山东潍坊。 |
| | ,或追究刑事责任」,如何从法律角度解读? | | 一男子买烟后亮出身份证,称「我未成年,你违法了」,并向店家索要一万元私了,引发网 |
| | | | 友热议。据报道,店家称,他个子挺高捂得很严实,没看出他是未成年,说把钱退给他,对 |
| | | | 方不依不饶,无奈报警,目前案件正在调查中。对此,河南泽槿律师事务所主任付建律师称 |
| | | | ,在此案例中,小伙是一种利用法律进行威胁和要挟的行为,符合勒索的定义。尽管小伙可 |
| | | | 能是未成年人,但这种故意设套然后索要钱财的行为是违法的。据关法律规定,商家应负有 |
| | | | 审查责任,确保不向未成年人售卖烟草产品。未查验其身份出售烟草给未成年人,应当受到 |
| | | | 相应法律责任。 来源:@九派新闻律师谈男子买烟后称未成年索赔 1                     |
| | | | 万:系勒索,或追究刑事责任 _ 违法 _ 小伙 _ 法律 (sohu.com) |
+--------+----------------------------------------------------+------------+----------------------------------------------------------------------------------+

Python实时爬取知乎热榜 l 热点神器

Python实时爬取知乎热榜 l 热点神器

四、免责声明

本公众号所有源码均为个人学习所编写,仅可用于计算机技术学习及研究等合法行为,禁止利用本公众号的源码从事任何违反本国(地区)法律法规的业务,如有发现存在违法违规行为我会举报到网监部门。

原文始发于微信公众号(愤怒的it男):Python实时爬取知乎热榜 l 热点神器

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/234388.html

(0)
葫芦侠五楼的头像葫芦侠五楼

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!