Scrapy:使用Splash刮取JS呈现的页面

Scrapy:使用Splash刮取JS呈现的页面,scrapy,Scrapy,我的目标是浏览以下页面: 从我到目前为止阅读和学习的内容来看,最好的方法是找到API(我无法找到),或者使用Splash作为扩展。这是你会采取的方法,还是我遗漏了什么?这取决于你想做什么。。但是,您要刮取的页面不需要API或Splash。。你可以用靓汤或ScrapyCan,我也可以“点击”“加载/查看更多”在不使用Splash的情况下单击页面末尾的按钮?然后您需要使用APIhttps://9f07q9i1om-dsn.algolia.net/1/indexes/*/查询?x-algolia-ag

我的目标是浏览以下页面:


从我到目前为止阅读和学习的内容来看,最好的方法是找到API(我无法找到),或者使用Splash作为扩展。这是你会采取的方法,还是我遗漏了什么?

这取决于你想做什么。。但是,您要刮取的页面不需要API或Splash。。你可以用靓汤或ScrapyCan,我也可以“点击”“加载/查看更多”在不使用Splash的情况下单击页面末尾的按钮?然后您需要使用API
https://9f07q9i1om-dsn.algolia.net/1/indexes/*/查询?x-algolia-agent=algolia%20用于%20香草%20JavaScript%203.29.0&x-algolia-application-id=9F07Q9I1OM&x-algolia-api-key=19e3128ee61a277541887302416c46a3
带有一些表单数据的请求。。您可以在浏览器上进行检查并查看XHR网络请求。我试图通过邮递员发送此POST请求,但我只得到结果
POST请求中没有内容
。我不确定我在这里是否做错了什么,或者它是否不起作用。你也需要从邮递员那里传递表单数据。在浏览器上检查请求并查看网络请求标题以了解详细信息。`{“requests”:[{“indexName”:“prod_festival”,“params”:“query:hitsPerPage:9页:1数字过滤器:[“end_date.timestamp>=1578202324”]facetFilters:[“country.slug:DE”]attributesToHighlight:[]attributesToSnippet:[],{“indexName”:“prod_festival”,“params”:“query=hitsPerPage:1页:0 clickAnalytics:false”}`