我想制作一个通用刮板,它可以从任何类型的网站(包括 AJAX 网站)中抓取和刮取所有数据。我在互联网上进行了广泛搜索,但找不到任何合适的链接来解释我如何 Scrapy 和 Splash 一起抓取 AJAX 网站(包括分页、表单数据和在显示页面之前单击按钮)。我提到的每个链接都告诉我可以使用 Splash 呈现 Javascript 网站,但是没有关于使用 Splash 呈现 JS 网站的好的教程/解释。请不要给我与使用浏览器相关的解决方案(我想以编程方式做所有事情,欢迎无头浏览器建议......但我想使用 Splash)。
class FlipSpider(CrawlSpider):
name = "flip"
allowed_domains = ["www.amazon.com"]
start_urls = ['https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=mobile']
rules = (Rule(LinkExtractor(), callback='lol', follow=True),
def parse_start_url(self,response):
yield scrapy.Request(response.url,
self.lol,
meta={'splash':{'endpoint':'render.html','args':{'wait': 5,'iframes':1,}}})
def lol(self, response):
"""
Some code
"""