python爬虫爬取豆瓣影评
时间: 2023-11-08 12:52:39 浏览: 83
好的,下面是一个简单的 Python 爬虫示例,用于爬取豆瓣电影《肖申克的救赎》的短评:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://movie.douban.com/subject/1292052/comments?status=P'
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)
soup = BeautifulSoup(response.content, 'html.parser')
comments = soup.find_all('span', 'short')
for comment in comments:
print(comment.string)
```
解释一下代码:
- 首先,我们需要导入 `requests` 和 `BeautifulSoup` 库;
- 然后,我们定义了一个变量 `url`,用于存储我们要爬取的页面链接;
- 接下来,我们定义了一个变量 `headers`,用于存储请求头信息,这里添加了 User-Agent 信息,是为了避免被网站反爬虫机制拦截;
- 使用 `requests.get()` 方法,向目标网站发起请求,并将响应结果存储到 `response` 变量中;
- 使用 `BeautifulSoup` 将响应结果转换为 BeautifulSoup 对象,方便我们使用其提供的方法进行解析;
- 使用 `find_all()` 方法,根据 HTML 结构和 class 属性,找到所有电影短评对应的 `span` 标签;
- 遍历所有短评,将其内容打印出来。
需要注意的是,网站会针对爬虫进行反爬虫处理,我们需要在代码中添加一些反反爬虫的措施,如添加 headers 信息、设置请求间隔时间等。此外,我们还需要注意网站的 robots.txt 文件,遵守网站的爬虫规则,以免被封禁 IP。
阅读全文