python爬取知乎问题_Python-爬取知乎某个问题下的所有回答
时间: 2024-03-24 11:38:28 浏览: 239
需要使用Python编程语言来爬取知乎问题下的所有回答。具体步骤如下:
1. 首先需要安装Python的requests和beautifulsoup4库,用于发送HTTP请求和解析HTML页面。
2. 获取知乎问题页面的URL,可以手动复制粘贴,或者使用爬虫自动获取。
3. 使用requests库发送GET请求,获取知乎问题页面的HTML源代码。
4. 使用beautifulsoup4库解析HTML源代码,获取所有回答的信息。
5. 对每个回答进行解析,获取回答的文本、作者、点赞数、评论数等信息。
6. 将获取到的信息存储到本地文件或数据库中。
下面是一段示例代码,可以爬取知乎某个问题下的所有回答:
```python
import requests
from bs4 import BeautifulSoup
# 知乎问题页面的URL
url = 'https://www.zhihu.com/question/xxxxxx'
# 发送GET请求,获取页面HTML源代码
response = requests.get(url)
html = response.text
# 解析HTML页面,获取所有回答的信息
soup = BeautifulSoup(html, 'html.parser')
answers = soup.find_all('div', class_='List-item')
# 遍历每个回答,解析并存储信息
for answer in answers:
# 解析回答文本、作者、点赞数、评论数等信息
text = answer.find('div', class_='RichContent-inner').get_text()
author = answer.find('div', class_='ContentItem-head').get_text()
upvotes = answer.find('button', class_='Button VoteButton VoteButton--up').get_text()
comments = answer.find('button', class_='Button ContentItem-action Button--plain Button--withIcon Button--hoverCard').get_text()
# 将信息存储到本地文件或数据库中
with open('answers.txt', 'a', encoding='utf-8') as f:
f.write(f'{author}\n{text}\n赞同数:{upvotes} 评论数:{comments}\n\n')
```
需要注意的是,爬取知乎数据属于个人行为,需要遵守知乎的相关规定,不得用于商业用途。另外,爬取速度也需要适当控制,避免给服务器造成过大的负担。
阅读全文