|
发表于 2023-12-11 16:14:35
|
显示全部楼层
好的,下面是一个使用Python编写的简单爬虫框架,用于抓取豆瓣电影Top250页面的电影信息并保存到CSV文件中:
- import requests
- from bs4 import BeautifulSoup
- import csv
- def get_movie_details(url):
- details = []
- response = requests.get(url)
- soup = BeautifulSoup(response.text, 'html.parser')
- movie_list = soup.find(class_='grid_view').find_all('li')
- for movie in movie_list:
- title = movie.find(class_='title').text
- info = movie.find(class_='bd').find('p').text
- rating = movie.find(class_='rating_num').text
- date = movie.find(class_='inq').text.strip()
- summary = movie.find(class_='quote').find('span').text.strip()
- poster = movie.find(class_='pic').find('img')['src']
- detail_url = movie.find(class_='hd').find('a')['href']
- movie_details = [title, info, rating, date, summary, poster, detail_url]
- details.append(movie_details)
- return details
- def save_to_csv(details):
- with open('douban_movies.csv', 'w', newline='', encoding='utf-8') as file:
- writer = csv.writer(file)
- writer.writerow(['电影名称', '导演与演员', '电影评分', '首次上演日期', '电影总结', '海报封面地址', '详情页地址'])
- writer.writerows(details)
- def main():
- url = 'https://movie.douban.com/top250'
- all_details = []
- for i in range(10):
- page_url = url + f'?start={i * 25}'
- details = get_movie_details(page_url)
- all_details.extend(details)
- save_to_csv(all_details)
- print('电影信息已保存到douban_movies.csv文件中。')
- if __name__ == '__main__':
- main()
复制代码
这段代码使用了requests库和BeautifulSoup库来发送HTTP请求并解析HTML,然后通过循环访问豆瓣电影Top250的分页URL来获取每一页的电影信息,最终将所有电影信息保存到CSV文件中。
运行上述代码后,会生成一个名为`douban_movies.csv`的CSV文件,其中包含电影名称、导演与演员、电影评分、首次上演日期、电影总结、海报封面地址以及电影详情页地址的信息。
希望对你有帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|