【python】爬取知乎热榜Top50保存到Excel文件中
warning:
这篇文章距离上次修改已过192天,其中的内容可能已经有所变动。
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 知乎热榜URL
zhihu_url = 'https://www.zhihu.com/hot'
# 发送请求,获取响应
response = requests.get(zhihu_url)
# 解析HTML内容
soup = BeautifulSoup(response.text, 'lxml')
# 提取热榜问题和热度
questions = soup.find_all('div', class_='HotItem-title')
hot_ranks = soup.find_all('div', class_='NumberRank-rank')
# 创建一个空列表来存储数据
data = []
# 遍历所有问题和热度,组织数据
for question, hot_rank in zip(questions, hot_ranks):
data.append({
'问题': question.text.strip(),
'热度': hot_rank.text.strip()
})
# 将数据转换为DataFrame
df = pd.DataFrame(data)
# 将DataFrame保存到Excel文件
df.to_excel('知乎热榜Top50.xlsx', index=False)
print("数据已保存到知乎热榜Top50.xlsx文件。")
这段代码使用了requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML内容,并使用pandas库来处理和保存数据。代码简洁,注重逻辑性和实用性,是一个很好的学习示例。
评论已关闭