一个爬虫Demo(经典豆瓣TOP250)
以下是一个简单的Python爬虫示例,用于爬取豆瓣电影TOP250的电影名称和评分,并将结果保存到CSV文件中。
import requests
from lxml import etree
import csv
# 请求URL
url = 'https://movie.douban.com/top250'
# 发送请求,获取响应
response = requests.get(url)
# 解析HTML内容
html = etree.HTML(response.text)
# XPath表达式,用于定位电影信息
xpath_movie = '//div[@class="info"]/div[@class="hd"]/a/span[1]/text()'
xpath_rating = '//div[@class="info"]/div[@class="bd"]/div[@class="star"]/span[@class="rating_num"]/text()'
# 存储电影数据的列表
movies = []
# 解析页面,提取电影信息
for i in range(25): # 每页有25部电影
movie_name = html.xpath(xpath_movie)[i].strip()
movie_rating = html.xpath(xpath_rating)[i].strip()
movies.append({'电影名称': movie_name, '评分': movie_rating})
# 保存到CSV文件
with open('douban_top250.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=['电影名称', '评分'])
writer.writeheader()
for movie in movies:
writer.writerow(movie)
print("爬取完成,结果保存到douban_top250.csv文件。")
这段代码使用了requests库来发送HTTP请求,获取页面内容;使用lxml库来解析HTML内容并通过XPath表达式定位和提取需要的数据;最后将数据保存到CSV文件中。这个Demo简单易懂,适合作为爬虫入门学习的示例。
评论已关闭