☰
如何使用ai写个爬虫
2026/10/11 1:50:48 网站建设 项目流程

import requests
from bs4 import BeautifulSoup
import csv
import time

# 1. 设置请求头,模拟浏览器访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}

# 2. 目标URL
url = 'https://movie.douban.com/top250'

try:
print("开始爬取豆瓣Top250...")
# 3. 发送GET请求
response = requests.get(url, headers=headers, timeout=10)
response.raise_for_status() # 检查请求是否成功

# 4. 解析HTML文档
soup = BeautifulSoup(response.text, 'html.parser')

# 5. 提取数据
movie_list = soup.find_all('div', class_='item')

data = []
for item in movie_list:
rank = item.find('em').text
title = item.find('span', class_='title').text
rating = item.find('span', class_='rating_num').text
link = item.find('a')['href']

data.append([rank, title, rating, link])
print(f"成功获取:{rank} - {title} - 评分:{rating}")

# 6. 写入CSV文件
with open('douban_movies.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerow(['排名', '电影名', '评分', '详情链接'])
writer.writerows(data)

print(f"\n爬取完成!共获取 {len(data)} 条数据,已保存至 douban_movies.csv")

except requests.exceptions.RequestException as e:
print(f"网络请求出错:{e}")
except Exception as e:
print(f"解析或保存数据时出错:{e}")

# 7. 延时,防止请求过快
time.sleep(1)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询