帮我写一段爬取豆瓣TOP250的代码,要求爬取网站内容自行选择(按电影类型、国家或评分),爬取页码数可控(第几页到第几页)
时间: 2024-03-29 22:41:09 浏览: 68
好的,我可以帮您编写爬取豆瓣TOP250的代码,以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
def get_movies(start, end, sort):
"""
爬取豆瓣TOP250电影
:param start: 起始页码
:param end: 结束页码
:param sort: 排序方式(rating: 按评分排序,recommend: 按推荐排序,time: 按时间排序)
:return: 电影列表
"""
movies = []
for page in range(start, end + 1):
url = f'https://movie.douban.com/top250?start={(page-1)*25}&filter=&type={sort}'
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.strip()
info = movie.find(class_='bd').p.text.strip()
rating = movie.find(class_='rating_num').text.strip()
quote = movie.find(class_='quote').span.text.strip()
movies.append({'title': title, 'info': info, 'rating': rating, 'quote': quote})
return movies
# 示例调用
movies = get_movies(start=1, end=2, sort='rating')
for movie in movies:
print(movie)
```
通过以上代码,我们可以自定义起始页码、结束页码和排序方式,从而爬取不同的TOP250电影列表。其中,使用了`requests`库进行网页请求,使用了`BeautifulSoup`库解析HTML内容。爬取到的电影信息将以字典的形式存储在列表中,并返回给调用者。
阅读全文