如何用python的scrapy框架和splah爬取js翻页
时间: 2024-06-10 12:06:38 浏览: 147
抱歉,我可以回答这个问题。您可以使用Scrapy-Splash组合使用Scrapy和Splash来实现。步骤如下:
1. 安装Scrapy和Splash以及依赖项
2. 在settings.py文件中添加以下代码段:
SPLASH_URL = 'http://localhost:8050/'
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}
SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}
DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'
3. 在spiders.py文件中使用splash.Request代替scrapy.Request,示例如下:
import scrapy
from scrapy_splash import SplashRequest
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
url = 'http://quotes.toscrape.com/js/page/'
for i in range(1, 4):
yield SplashRequest(url+str(i), self.parse,
endpoint='render.html',
args={'wait': 0.5})
def parse(self, response):
for quote in response.css('div.quote'):
yield {
'text': quote.css('span.text::text').get(),
'author': quote.css('span small::text').get(),
'tags': quote.css('div.tags a.tag::text').getall(),
}
4. 运行爬虫
注:以上代码仅作为示例,实际使用时需要根据需求进行调整。
阅读全文