不使用 Splash 的 Python Scrapy

不使用 Splash 的 Python Scrapy

我正在尝试抓取一个使用 AJAX 请求显示内容的网站。

我试图模拟 AJAX 调用,但每次发送请求时它都会在其 cookie 中使用不同的令牌,因此我收到“500”错误并且无法访问服务器。

所以我选择了第二个选项(即使用 splash 抓取网站)我用 docker 安装它并在端口 8050 上运行它。

http://localhost:8050有一个测试render.html控制台。我输入了网站地址,当它应该显示所有内容(包括使用 AJAX 生成的内容)时,它却没有显示!

我在我的项目中尝试了代码和中间件,一切正常,但它不起作用!

任何帮助,将不胜感激。

顺便说一句:我尝试抓取的地址是:http://lastsecond.ir/tours/

答案1

如果您希望它是 python,您可以在 webkit 浏览器上使用 pygi 或 pyqt。然后在页面上注入任意 JS 或以您喜欢的方式解析 dom。它是一个完整的浏览器,因此比一些框架更重 - 但它确实有效,除非您尝试解析使用影子 DOM 的 DOM 重写。

相关内容