python爬虫爬取猫眼电影评论
时间: 2023-06-29 21:17:11 浏览: 66
好的,您想了解如何使用Python爬虫爬取猫眼电影评论,是吗?以下是一个简单的示例代码,可以帮助您开始:
```
import requests
import json
# 请求头
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'}
# 爬取数据的网址
url = 'https://m.maoyan.com/mmdb/comments/movie/1299372.json?_v_=yes&offset=0&startTime=0'
# 发送请求
response = requests.get(url, headers=headers)
# 解析json数据
comments = json.loads(response.text)['cmts']
for comment in comments:
print(comment['content'])
```
这个代码将会向猫眼电影的评论网址发送请求,获取电影《误杀》的评论,并将评论的内容打印出来。
需要注意的是,这只是一个简单的示例代码。如果您想要爬取更多评论,需要修改offset和startTime参数,通过多次请求来获取更多的评论数据。同时,需要遵守网站的爬虫规则,不要过于频繁地发送请求,以免被网站屏蔽。
相关问题
使用python爬虫爬取猫眼电影首页
可以使用Python的requests和BeautifulSoup库来爬取猫眼电影首页。下面是一段简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://maoyan.com/'
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.text, 'html.parser')
# 打印网页标题
print(soup.title.string)
# 打印正在热映的电影名称和评分
hot_movies = soup.find_all('div', {'class': 'movie-item-hover'})
for movie in hot_movies:
name = movie.find('span', {'class': 'name'}).string
score = movie.find('span', {'class': 'score'}).string
print(name, score)
```
在代码中,首先使用requests库发送GET请求获取网页内容。然后使用BeautifulSoup库解析网页内容,提取需要的信息。在这个例子中,我们提取了网页标题和正在热映的电影名称和评分。
需要注意的是,为了防止被网站封禁,我们在请求头中添加了User-Agent字段,模拟了一个浏览器的请求。
python 爬虫爬取猫眼电影TOP100的数据
好的,我可以为你提供一个简单的 Python 爬虫来爬取猫眼电影 TOP100 的数据。首先,需要安装 requests 和 BeautifulSoup 库。可以在命令行中输入以下命令进行安装:
```
pip install requests
pip install beautifulsoup4
```
然后,可以使用以下代码来获取猫眼电影 TOP100 的数据:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://maoyan.com/top100'
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)
bs = BeautifulSoup(response.text, 'html.parser')
movies = bs.find_all('div', {'class': 'movie-item-info'})
for movie in movies:
name = movie.find_all('a')[0].text.strip()
star = movie.find_all('p')[0].text.strip()
time = movie.find_all('p')[1].text.strip()
print('电影名:{},演员:{},上映时间:{}'.format(name, star, time))
```
上述代码中,首先定义了一个 URL 和请求头部,然后使用 requests 库向该 URL 发送 GET 请求,并使用 BeautifulSoup 库解析响应的 HTML 内容。接着,使用 find_all 方法获取所有电影的信息,然后循环遍历每一部电影,使用 find_all 方法获取电影名称、演员和上映时间,并将这些信息打印出来。
当然,这只是一个简单的示例,还可以根据需要进行更复杂的操作,比如将数据存储到数据库中等。希望能帮到你。