访问豆瓣电影Top250(https://movie.douban.com/top250?start=0),获取每部电影的中文片名、排名、评分及其对应的链接将获取到的信息保存至本地文件中。
时间: 2024-10-01 14:08:02 浏览: 91
Python爬取豆瓣top250电影数据,并导入MySQL,写入excel
5星 · 资源好评率100%
获取豆瓣电影Top 250的电影信息并将其保存到本地文件通常需要通过网络爬虫技术实现,因为网站的数据不是直接暴露给我们的API。以下是一个简单的步骤说明:
1. **准备工作**:
- 安装Python库,如`requests`用于发送HTTP请求,`BeautifulSoup`或`lxml`用于解析HTML数据。
- 如果需要,可以安装浏览器自动化工具如Selenium以防反爬机制。
2. **编写脚本**:
```python
import requests
from bs4 import BeautifulSoup
# 设置URL
url = "https://movie.douban.com/top250?start=0"
# 发送GET请求
response = requests.get(url)
# 检查响应状态码
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'lxml')
# 查找电影信息元素(这通常在HTML中嵌套层次很深,需根据实际页面结构定位)
movie_list = soup.find_all('div', class_='hd') # 假设这里包含标题和链接
# 打开文件并保存数据
with open('movies_info.txt', 'w', encoding='utf-8') as f:
for i, movie in enumerate(movie_list):
title = movie.find('span', class_='title').text.strip()
rank = movie.find('span', class_='rating_num').text
score = movie.find('span', class_='rating_num')['class'][1][6:-1] # 提取评分,例如"9.3"
link = "https://movie.douban.com/" + movie.find('a')['href']
line = f"{i+1}. {title}\nRank: {rank}, Score: {score}/10, Link: {link}\n\n"
f.write(line)
else:
print("Failed to fetch data, check your URL and try again.")
```
3. **运行脚本**:
运行上述脚本,它会获取指定网页上电影的信息,并保存到名为`movies_info.txt`的文本文件中。
注意:在实际操作时,可能会遇到反爬虫策略(如IP限制、验证码等),如果频繁访问可能会被封禁。因此,在编写这类脚本时,应遵守网站的robots.txt协议,并尽可能设置延时以避免过于频繁地请求。
阅读全文