python爬取豆瓣电影
时间: 2023-09-14 18:11:27 浏览: 106
以下是一个简单的Python爬取豆瓣电影的例子:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头
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://movie.douban.com/top250'
response = requests.get(url, headers=headers)
# 解析页面
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.find_all('div', class_='hd')
for movie in movies:
title = movie.a.span.text.strip()
print(title)
```
这个例子首先通过requests库发送GET请求来获取豆瓣电影Top250列表页面的HTML代码。然后使用BeautifulSoup库解析HTML代码,找到页面中每个电影的标题,最后打印出来。请注意,为了避免被豆瓣网站屏蔽,我们在请求中设置了一个浏览器的User-Agent头。
相关问题
python爬取豆瓣电影top250_python3爬取豆瓣top250电影
好的,以下是Python3爬取豆瓣Top250电影的代码示例:
```python
import requests
from bs4 import BeautifulSoup
def get_movie_list(url):
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')
movie_list = soup.find_all('div', class_='hd')
for i in range(len(movie_list)):
movie_name = movie_list[i].a.span.text.strip()
print(f'{i+1}. {movie_name}')
if __name__ == '__main__':
urls = ['https://movie.douban.com/top250?start={}'.format(str(i)) for i in range(0, 250, 25)]
for url in urls:
get_movie_list(url)
```
这段代码会爬取豆瓣Top250电影的名称,并且按顺序输出。你可以直接运行并查看结果。
python爬取豆瓣电影评论_Python爬取豆瓣电影的短评数据并进行词云分析处理
好的,我可以给你一些指导和帮助。首先,你需要安装好Python爬虫框架,比如requests和beautifulsoup4。然后,你需要了解豆瓣电影评论页面的URL和HTML结构。接下来,你可以编写Python代码,使用requests发送HTTP请求获取页面内容,并使用beautifulsoup4解析HTML,提取出需要的数据。最后,你可以使用Python的词云库,比如wordcloud,对评论数据进行分析和可视化。
以下是一个简单的Python爬取豆瓣电影评论的示例代码:
```python
import requests
from bs4 import BeautifulSoup
from wordcloud import WordCloud
# 豆瓣电影评论页面的URL
url = 'https://movie.douban.com/subject/26794435/comments?status=P'
# 发送HTTP请求获取页面内容
response = requests.get(url)
html = response.text
# 使用beautifulsoup4解析HTML,提取出评论数据
soup = BeautifulSoup(html, 'html.parser')
comments = []
for comment in soup.find_all('span', class_='short'):
comments.append(comment.string)
# 对评论数据进行词云分析处理
text = ' '.join(comments)
wordcloud = WordCloud(width=800, height=800, background_color='white').generate(text)
wordcloud.to_file('wordcloud.png')
```
这段代码可以获取豆瓣电影《复仇者联盟4:终局之战》的短评数据,并生成一个词云图片。你可以根据自己的需要修改URL和电影名称,以及调整词云图片的大小和颜色等参数。
阅读全文