Python爬取豆瓣电影前十名
时间: 2023-08-27 08:10:58 浏览: 265
好的,下面是Python爬取豆瓣电影前十名的代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://movie.douban.com/top250'
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')
movies = soup.find_all('div', class_='hd')
titles = [movie.a.span.text for movie in movies]
for i in range(10):
print(f'{i+1}. {titles[i]}')
```
运行结果:
```
1. 肖申克的救赎
2. 霸王别姬
3. 阿甘正传
4. 这个杀手不太冷
5. 美丽人生
6. 泰坦尼克号
7. 千与千寻
8. 辛德勒的名单
9. 盗梦空间
10. 忠犬八公的故事
```
相关问题
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和电影名称,以及调整词云图片的大小和颜色等参数。
python爬取豆瓣电影并分析_Python爬取豆瓣电影的短评数据并进行词云分析处理
好的,这是一个很有趣的问题,我可以为您提供一些 Python 爬取豆瓣电影短评数据并进行词云分析处理的方法,以下是具体步骤:
1. 安装必要的库
需要安装 requests, BeautifulSoup, wordcloud, jieba 等库,可以使用 pip 安装。
2. 获取豆瓣电影的短评数据
使用 requests 库获取电影的页面源代码,然后使用 BeautifulSoup 库解析 HTML 页面,找到短评的标签和类名,获取短评的文本信息。
3. 对短评数据进行分词和处理
使用 jieba 库对短评进行分词,去除停用词和无用符号,并统计词频。
4. 生成词云图
使用 wordcloud 库生成词云图,将分词处理后的结果输入 wordcloud.WordCloud() 函数,设置好字体、背景颜色、词云形状等参数,调用 generate_from_frequencies() 函数生成词云图。
以上是简单的流程,具体的代码实现可以参考以下示例代码:
```python
import requests
from bs4 import BeautifulSoup
import jieba
import wordcloud
# 请求头信息
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
url = 'https://movie.douban.com/subject/1292052/comments?start=0&limit=20&sort=new_score&status=P'
# 获取电影的页面源代码
html = requests.get(url, headers=headers).text
# 使用BeautifulSoup解析HTML页面
soup = BeautifulSoup(html, 'html.parser')
# 获取所有短评
comments = soup.find_all('span', 'short')
# 将短评文本拼接成一个字符串
text = ''
for comment in comments:
text += comment.get_text()
# 对文本进行分词
words = jieba.cut(text)
# 去除停用词和无用符号
stopwords = ['的', '了', '是', '我', '你', '他', '她', '我们', '你们', '他们', '这', '那', '还', '就', '和', '也', '不', '在', '有', '到', '个', '了', '啊', '呢', '吧', '哦', '嗯', '哈', '呀', '嘛', '了', '吗']
filtered_words = []
for word in words:
if word not in stopwords and word.strip() != '':
filtered_words.append(word)
# 统计词频
word_count = {}
for word in filtered_words:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 生成词云图
wc = wordcloud.WordCloud(
font_path='simhei.ttf',
background_color='white',
width=800,
height=600,
max_words=200,
max_font_size=100,
random_state=30,
)
wc.generate_from_frequencies(word_count)
# 展示词云图
import matplotlib.pyplot as plt
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()
```
这样就可以爬取豆瓣电影的短评数据并进行词云分析处理了。
阅读全文