目录

Python 爬取百度实时热点

目录

此前写过一篇基于 BeautifulSoup 库开发的 demo,这次用 xpath 写。

源码

# -*- coding:utf-8 -*- #
import requests
from lxml import etree

def get_headers():
    headers = {}
    headers["content-type"] = "text/html;"
    headers[
        "user-agent"] = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36"
    headers["host"] = "top.baidu.com"
    return headers
 
url = 'http://top.baidu.com/buzz?b=1'

response = requests.get(url, headers=get_headers())
response.encoding = 'gbk'
html = response.text
 
if response.status_code != 200:
    print(f'返回状态码:{response.status_code}')
    exit(0)

# 调用HTML类进行初始化
html = etree.HTML(html)

# 提取该页面所有标题
result_all = html.xpath('//*[@id="main"]/div[2]/div/table/tr/td[2]/a[1]')

#  打印所有提取出的新闻标题
for v in result_all:
    print(v.text)

在开发时遇到一个有意思的坑,如果你测试时使用浏览器复制的热点标题的 title xpath,你会发现获取不到标题。你只需要把 tbody 标签去掉,就可以正常获取到标题了。

输出

31省新增本土病例85例:河北82例
佩洛西:众议院将第二次弹劾特朗普
河北新增49例本地无症状感染者
金正恩被推举为朝鲜劳动党总书记
北京新增1例确诊 4例无症状感染者
百度宣布组建智能汽车公司
美发生连环枪击案 一留学生身亡
日本发现新型变异新冠病毒
死刑!曾春亮案一审宣判
青藏高原云南等地降温雨雪来了
拼多多回应员工匿名发帖被辞退
石家庄新增确诊曾去过武汉汉正街
吉林新增4例本土无症状:2对夫妻
袁咏仪 送包给我是张智霖的福分
宋小女:这个结局也挺好
2020年CPI较上年上涨2.5%
全棉时代道歉疑似打广告
韩媒:韩军发现朝鲜举行阅兵式迹象
国会骚乱后特朗普没联系过彭斯
天津处罚过马路的低头族
被放生秃鹫赖警局每天伙食费150
比特币暴跌超10%
20岁小姐姐当汽车兵驰骋川藏线
北京乘出租车网约车需扫健康宝
网上买菜莫名被开通美团月付
自低风险区返乡要检测?多地出通知
车厘子价格腰斩
山东长岛海边现冰冻奇观似鸳鸯锅
武汉向石家庄捐赠50吨蔬菜
康辉说和21岁最大差别是脸的宽度

REF

https://blog.csdn.net/qq_36523839/article/details/79992002