帮我写一段爬取豆瓣TOP250的代码,要求爬取页码数可控(第几页到第几页)
时间: 2024-03-29 07:41:03 浏览: 41
Scrapy爬取豆瓣图书Top250代码实现.txt
好的,以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
def get_movies(start_page, end_page):
"""
爬取豆瓣TOP250电影
:param start_page: 起始页码
:param end_page: 结束页码
:return: 电影列表
"""
movies = []
for page in range(start_page, end_page + 1):
url = f'https://movie.douban.com/top250?start={25 * (page - 1)}&filter='
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_page=1, end_page=2)
for movie in movies:
print(movie)
```
在这个示例代码中,您可以通过`start_page`和`end_page`两个参数来指定需要爬取的页码范围。每次循环都会通过`requests`库向豆瓣TOP250电影页面发送请求,并使用`BeautifulSoup`库来解析HTML内容。最终爬取到的电影信息将以字典的形式存储在列表中,并返回给调用者。
阅读全文