爬虫:爬取知乎热榜一级评论及回答2024不包含翻页
import requests
from lxml import etree
# 知乎热榜URL
url = 'https://www.zhihu.com/hot'
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',
'Referer': 'https://www.zhihu.com/',
}
# 发送请求
response = requests.get(url, headers=headers)
if response.status_code == 200:
# 解析HTML
html = etree.HTML(response.text)
# XPath 表达式,提取一级评论和回答
items = html.xpath('//div[@class="HotItem-content"]')
for item in items:
# 提取标题
title = item.xpath('.//a[@class="HotItem-title"]/text()')[0]
# 提取评论数
comment_count = item.xpath('.//span[@class="NumberBoard-number"]/text()')[0]
print(f'标题: {title}, 评论数: {comment_count}')
else:
print('请求失败')
这段代码使用了requests库来发送HTTP请求,使用etree.HTML来解析HTML内容,并使用XPath来提取页面上的一级评论和回答信息。这个例子没有处理翻页逻辑,因为问题中已经指出不包括翻页的处理。这个代码片段提供了一个简单的模板,可以根据实际情况进行扩展和修改。
评论已关闭