问题标签 [splash-js-render]

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 投票
2 回答
5891 浏览

python - 如何在 OSX 上安装 python-gtk2、python-webkit 和 python-jswebkit

我已经阅读了许多相关问题,但仍然不清楚如何做到这一点,因为有许多可用的软件组合,而且许多解决方案似乎已经过时。

在 OSX 上的虚拟环境中安装以下内容的最佳方法是什么:

  • python-gtk2
  • python-webkit
  • python-jswebkit

我是否还必须安装 GTK+ 和 Webkit?如果是这样,怎么做?

还希望对这些软件如何协同工作进行简单的解释。

(我正在尝试使用需要这些库的scrapyjs )

0 投票
3 回答
10979 浏览

web-scraping - Scrapy Shell 和 Scrapy Splash

我们一直在使用scrapy-splash中间件将抓取的 HTML 源代码通过在Splashdocker 容器内运行的 javascript 引擎传递。

如果我们想在蜘蛛中使用 Splash,我们配置几个必需的项目设置并产生一个Request指定的特定meta参数

这按记录工作。但是,我们如何scrapy-splashScrapy Shell中使用呢?

0 投票
3 回答
3896 浏览

python - Scrapy选择器不适用于Splash响应

我正在尝试使用 Scrapy 抓取一些动态内容。我已成功设置 Splash 以配合它工作。但是,以下蜘蛛的选择器会产生空结果:

选择器使用 Scrapy shell 工作得很好,所以我很困惑什么不起作用。

在这两种情况下,我能找到的唯一区别是字符串的编码处理方式不同:如果我尝试从函数response.body内打印/解码它,那就是胡言乱语。parse

任何提示或参考将不胜感激。

0 投票
1 回答
4681 浏览

python - Splash lua 脚本进行多次点击和访问

我正在尝试抓取Google Scholar 搜索结果并获取与搜索匹配的每个结果的所有 BiBTeX 格式。现在我有一个带有 Splash 的 Scrapy 爬虫。我有一个 lua 脚本,它将单击“引用”链接并在获取href引文的 BibTeX 格式之前加载模式窗口。但是看到有多个搜索结果,因此有多个“引用”链接,我需要全部点击它们并加载各个 BibTeX 页面。

这是我所拥有的:

我想我应该在执行querySelectorAll调用时将“引用”链接的索引传递给 lua 脚本,但我似乎找不到将另一个变量传递给函数的方法。此外,我认为在获取 BibTeX 后,我必须做一些肮脏的 javascripthistory.back()才能返回到原始结果页面,但我觉得有一种更优雅的方式来处理这个问题。

0 投票
2 回答
2233 浏览

scrapy - Scrapy Splash 不会执行 lua 脚本

我遇到了我的 Lua 脚本拒绝执行的问题。从 ScrapyRequest 调用返回的响应似乎是一个 HTML 正文,而我期待一个文档标题。我假设 Lua 脚本从未被调用,因为它似乎对响应没有明显影响。我已经通过文档挖掘了很多,似乎无法弄清楚这里缺少什么。有没有人有什么建议?

0 投票
1 回答
583 浏览

web-scraping - 如何获取带有启动画面的弹出内容

我开始使用scrapy with splash,我想知道splash是否可以处理多个窗口和弹出窗口。作为示例,我想使用该 lua 脚本并尝试获取 google 窗口的内容

0 投票
1 回答
2099 浏览

python - scrapy-splash 返回它自己的标题,而不是来自站点的原始标题

我使用scrapy-splash 来构建我的蜘蛛。现在我需要维护会话,所以我使用了 scrapy.downloadermiddlewares.cookies.CookiesMiddleware 并处理了 set-cookie 标头。我知道它会处理 set-cookie 标头,因为我设置了 COOKIES_DEBUG=True ,这会导致 CookeMiddleware 打印出有关 set-cookie 标头的信息。

问题:当我还将 Splash 添加到图片时,set-cookie 打印输出消失了,实际上我得到的响应标题是 {'Date': ['Sun, 25 Sep 2016 12:09:55 GMT'], '内容类型': ['text/html; charset=utf-8'], 'Server': ['TwistedWeb/16.1.1']} 这与使用 TwistedWeb 的启动渲染引擎有关。

是否有任何指令告诉飞溅也给我原始响应标头?

0 投票
2 回答
6359 浏览

scrapy - scrapy-splash 如何处理无限滚动?

我想对通过在网页中向下滚动生成的内容进行逆向工程。问题出在 url 中https://www.crowdfunder.com/user/following_page/80159?user_id=80159&limit=0&per_page=20&screwrand=933screwrand似乎没有遵循任何模式,因此反转 url 不起作用。我正在考虑使用 Splash 进行自动渲染。如何使用 Splash 像浏览器一样滚动?非常感谢!以下是两个请求的代码:

浏览器控制台中显示的 ajax 请求

0 投票
1 回答
5794 浏览

scrapy - 当javascript发出多个请求时,如何在Scrapy+Splash中设置cookie?

加载 javascript 时,它会发出另一个 ajax 请求,其中应在响应中设置 cookie。但是,Splash 不会在多个请求中保留任何 cookie,有没有办法在所有请求中保留 cookie?甚至在每个请求之间手动分配它们。

0 投票
3 回答
6545 浏览

python - 在 python Scrapy 中执行 SplashRequest 时添加等待元素

我正在尝试在 python 中使用 Splash for Scrapy 抓取一些动态网站。但是,我看到 Splash 在某些情况下无法等待完整页面加载。解决此问题的一种蛮力方法是添加大量wait时间(例如,以下代码段中的 5 秒)。但是,这样做效率极低,并且仍然无法加载某些数据(有时加载内容需要超过 5 秒)。是否有某种等待元素条件可以通过这些请求?