爬取豆瓣电影网TOP250的电影排名和影片名称 将数据保存到.txt文本文档中。
时间: 2024-04-29 22:23:23 浏览: 163
爬取豆瓣电影Top250中的电影信息以及保存相关的数据信息
由于豆瓣网的反爬机制比较严格,需要使用一些反反爬的技巧,比如模拟登录,设置请求头等。以下是Python代码实现:
```python
import requests
from bs4 import BeautifulSoup
import time
# 设置请求头
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'}
# 模拟登录,获取cookie
s = requests.Session()
login_url = 'https://accounts.douban.com/j/mobile/login/basic'
login_data = {
'name': 'your_username',
'password': 'your_password',
'remember': 'false'
}
s.post(login_url, headers=headers, data=login_data)
# 爬取TOP250的电影排名和影片名称,并保存到txt文件中
with open('douban_top250.txt', 'w', encoding='utf-8') as f:
for i in range(0, 250, 25):
url = f'https://movie.douban.com/top250?start={i}&filter='
r = s.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
movies = soup.find_all('div', class_='hd')
for movie in movies:
rank = movie.previous_sibling.strip()
title = movie.a.span.text.strip()
f.write(f'{rank}\t{title}\n')
time.sleep(1) # 避免爬取速度过快被封IP
print('Done!')
```
运行以上代码后,会在当前目录下生成一个名为`douban_top250.txt`的文本文件,其中包含了TOP250的电影排名和影片名称,每行一个。
阅读全文