基于代理IP的豆瓣电影排行榜爬取及Excel存储
介绍如何使用 Python 编写爬虫程序,利用代理 IP 获取豆瓣电影排行榜数据,并将数据存储到 Excel 文件中。
代码实现
# 导入必要的库
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置代理 IP
proxies = {
'http': 'http://your_proxy_ip:your_proxy_port',
'https': 'https://your_proxy_ip:your_proxy_port'
}
# 设置请求头
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.36'
}
# 发送请求获取网页源代码
url = 'https://movie.douban.com/chart'
response = requests.get(url, headers=headers, proxies=proxies)
# 解析网页源代码
soup = BeautifulSoup(response.text, 'lxml')
# 提取电影信息
movies = soup.find_all('div', class_='pl2')
movie_list = []
for movie in movies:
title = movie.find('a').text.strip()
rating = movie.find('span', class_='rating_nums').text
movie_list.append([title, rating])
# 将数据存储到 Excel 文件
df = pd.DataFrame(movie_list, columns=['电影名称', '评分'])
df.to_excel('豆瓣电影排行榜.xlsx', index=False)
注意事项
- 请将代码中的
your_proxy_ip
和 your_proxy_port
替换为实际的代理 IP 地址和端口号。
- 爬取过程中请遵循 robots 协议,合理设置请求频率,避免对目标网站造成压力。
# 导入必要的库
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置代理 IP
proxies = {
'http': 'http://your_proxy_ip:your_proxy_port',
'https': 'https://your_proxy_ip:your_proxy_port'
}
# 设置请求头
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.36'
}
# 发送请求获取网页源代码
url = 'https://movie.douban.com/chart'
response = requests.get(url, headers=headers, proxies=proxies)
# 解析网页源代码
soup = BeautifulSoup(response.text, 'lxml')
# 提取电影信息
movies = soup.find_all('div', class_='pl2')
movie_list = []
for movie in movies:
title = movie.find('a').text.strip()
rating = movie.find('span', class_='rating_nums').text
movie_list.append([title, rating])
# 将数据存储到 Excel 文件
df = pd.DataFrame(movie_list, columns=['电影名称', '评分'])
df.to_excel('豆瓣电影排行榜.xlsx', index=False)
- 请将代码中的
your_proxy_ip
和your_proxy_port
替换为实际的代理 IP 地址和端口号。 - 爬取过程中请遵循 robots 协议,合理设置请求频率,避免对目标网站造成压力。
下载地址
用户评论