scrapy爬取豆瓣top250如何爬取下一页
时间: 2023-08-03 11:35:19 浏览: 104
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
5星 · 资源好评率100%
要爬取豆瓣Top250的下一页,可以使用Scrapy框架中的Request对象,通过修改URL来实现。
首先,在Scrapy的Spider中,需要定义一个start_urls列表,其中包含第一页的URL,如下所示:
```
class DoubanSpider(scrapy.Spider):
name = 'douban'
allowed_domains = ['movie.douban.com']
start_urls = ['https://movie.douban.com/top250']
```
接下来,在Spider中,可以定义一个parse方法,用于解析页面内容。在该方法中,可以获取页面中的下一页URL,并使用Scrapy的Request对象来发送请求,如下所示:
```
def parse(self, response):
# 解析页面内容
# ...
# 获取下一页URL
next_page = response.css('span.next a::attr(href)').get()
# 如果存在下一页URL,则发送请求
if next_page:
yield scrapy.Request(url=next_page, callback=self.parse)
```
在上面的代码中,首先使用CSS选择器获取下一页的URL,并判断该URL是否存在。如果存在,则使用Scrapy的Request对象发送请求,并指定回调函数为parse方法,实现对下一页的解析和爬取。
注意,这里的回调函数为self.parse,而不是字符串'parse',因为Scrapy在发送请求时需要传递函数对象而不是字符串。
阅读全文