问题标签 [scrapy-splash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
470 浏览

python - ScrapyJs (scrapy + splash) 无法加载脚本,但启动服务器运行良好

我正在尝试应用 Scrapy (scrapyjs) 来抓取带有脚本的页面,以获得完整加载的页面。我应用了 splash + scrapy 来使用以下代码渲染它。这与直接使用 localhost:8050 服务器的参数完全相同

响应 html 不包含我需要的元素,但是如果我直接在 localhost:8050 上使用它,则启动服务器运行良好。

你知道问题出在哪里吗?

0 投票
1 回答
1203 浏览

jquery - 如何从已选择的元素对象中选择元素

splash:select使用如何选择一个元素后,如何选择在它下面找到的所有作为子元素的锚元素?

我已经lua用scrapy/splash尝试了这个脚本:

但我收到以下错误请求 Splash 错误:

我已经确认splash:select('.class-list')返回一个有效的元素对象。

0 投票
1 回答
1679 浏览

python - 如何使用 scrapy_splash 包在表单发布后重定向?

我正在使用 Python、Scrapy、Splash 和 scrapy_splash 包来废弃网站。

我可以使用 scrapy_splash 中的 SplashRequest 对象登录。登录会创建一个 cookie,让我可以访问门户页面。至此,一切正常。

在门户页面上,有一个包含许多按钮的表单元素。单击后,操作 URL 会更新并触发表单提交。表单提交会导致 302 重定向。

我对 SplashRequest 尝试了相同的方法,但是,我无法捕获随重定向返回的 SSO 查询参数。我试图读取标头 Location 参数但没有成功。

我还尝试将 lua 脚本与 SplashRequest 对象结合使用,但是,我仍然无法访问重定向 Location 对象。

任何指导将不胜感激。

我意识到还有其他可用的解决方案(即硒),但是上述技术是我们在大量其他脚本中使用的技术,我不愿为这个特定用例添加新技术。

0 投票
1 回答
624 浏览

out-of-memory - 使用 Splash 截取某个 URL 的屏幕截图

我正在尝试使用 Scrapy Splash 的render.png端点截取以下 URL 的屏幕截图:

在实践中,我使用 发出请求python-requests,但是,即使我在浏览器中执行此操作以进行测试,它也会将 cpu 使用率推到 100% 以上(由“顶部”测量),挂起很长时间,然后最终迫使 Splash 崩溃。估计是内存不够了

我尝试maxrss从 500 增加到 1500,但这没有帮助。我还尝试调整端点的等待/超时参数,render.png但没有改变结果。

如何使用 Splash 截取此页面的屏幕截图?

0 投票
1 回答
522 浏览

javascript - 连接被拒绝错误 61: Scrapy+splash Docker

我在抓取 javascript 网站时遇到了一些问题。我正在使用scrapy-splash和docker将js渲染为html来抓取。

这是我的终端输出的内容:

0 投票
1 回答
1217 浏览

python - Scrapy + Splash:请求 url 中缺少方案:render.html,但 url 有方案

我正在尝试使用以下代码从该站点上抓取产品名称和价格:

我怀疑问题出在传递给 SplashRequest 的 href 中,但是当我将它们打印出来时,它们都有完全限定的 URL,如下所示:

https://www.bodyenfitshop.nl/duursport/?p=1

https://www.bodyenfitshop.nl/workouts/?p=1

https://www.bodyenfitshop.nl/aminozuren/?p=1

SO上有关此错误的所有其他问题(例如thisthis)都可以通过将“https”添加到其 URL 来解决。但我已经有了这些。所以我不知道是什么导致了这些。

这是我得到的错误之一(重复多次)

render.html 是(我认为)Splash 生成的默认名称。我认为我无法改变这一点。

非常感谢任何帮助或朝正确方向戳!

0 投票
0 回答
170 浏览

scrapy - 在完成 Lua 脚本之前飞溅获取 html

我的网页具有强大的 ajax 分页(仅用于下一页的按钮)。对于转到第 5 页等,脚本应按Next按钮5 次。但在脚本点击后 - 当前页面的数据将丢失。

有可能将 Lua 脚本中的 html 内容返回到scrapy,然后继续运行脚本?

现在我用不好的方式。我在 Lua 脚本中合并每个页面的 html 代码,并在最后一页之后返回它。但我觉得不太好。

0 投票
3 回答
2650 浏览

javascript - 如何使用 Scrapy 和 Splash 抓取基于 AJAX 的网站?

我想制作一个通用刮板,它可以从任何类型的网站(包括 AJAX 网站)中抓取和刮取所有数据。我在互联网上进行了广泛搜索,但找不到任何合适的链接来解释我如何 Scrapy 和 Splash 一起抓取 AJAX 网站(包括分页、表单数据和在显示页面之前单击按钮)。我提到的每个链接都告诉我可以使用 Splash 呈现 Javascript 网站,但是没有关于使用 Splash 呈现 JS 网站的好的教程/解释。请不要给我与使用浏览器相关的解决方案(我想以编程方式做所有事情,欢迎无头浏览器建议......但我想使用 Splash)。

0 投票
1 回答
386 浏览

scrapy - 使用带有splash的scrapy shell返回空值

我正在抓取这个网站:http ://www.germandeli.com/Meats/Sausages ,其中包含一些动态内容。

我正在使用带有splash的scrapy shell来渲染javascript,但它返回空值[]。我的系统是 Ubuntu 14.04 LTS。

这是我使用的代码:

任何提示将不胜感激!

0 投票
1 回答
1493 浏览

ubuntu - Scrapy Splash 设置:“SPLASH_URL”

我的电脑上有一个scrapy splash spider 的工作实例。然后我将它迁移到我的linux服务器。蜘蛛工作正常,检索结果没有飞溅。但是对于相同的网站,当我使用启动画面(https://github.com/scrapy-plugins/scrapy-splash)时,我的蜘蛛不会检索任何内容并返回 404 错误。我在我的服务器上设置了 nginx 和 django,我想知道这是否与启动的“SPLASH_URL”设置冲突。

1)我尝试将启动网址更改为以下所有内容:

我还将端口更改为 80 和 8050

2)从我的服务器运行 curl 时,我得到以下信息

什么可能导致 404 错误。如果我使用的是 docker,则启动指令指定将 url 设置为 localhost 或 docker ip。提前非常感谢!