python爬取知乎评论
时间: 2023-07-08 20:52:25 浏览: 150
python对知乎上的问题回答的爬取(可用)
5星 · 资源好评率100%
要爬取知乎评论,可以使用Python的第三方库`requests`和`BeautifulSoup`。
首先,需要用`requests`库发送GET请求获取知乎问题页面的HTML代码。例如:
```
import requests
url = 'https://www.zhihu.com/question/123456789'
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'}
response = requests.get(url, headers=headers)
html = response.text
```
其中,`headers`参数是为了模拟浏览器发送请求,避免被知乎反爬虫机制封禁。
接下来,可以使用`BeautifulSoup`库解析HTML代码,找到评论所在的`<div>`标签。例如:
```
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
comment_divs = soup.find_all('div', {'class': 'List-item'})
```
其中,`'List-item'`是知乎评论所在`<div>`标签的class属性。
最后,可以遍历`comment_divs`列表,从中解析出评论内容。例如:
```
for comment_div in comment_divs:
comment_text = comment_div.find('div', {'class': 'RichContent-inner'}).text.strip()
print(comment_text)
```
其中,`'RichContent-inner'`是评论内容所在`<div>`标签的class属性。
需要注意的是,知乎评论有分页,如果要爬取所有评论,需要多次发送请求,并解析不同页面的HTML代码。
阅读全文