问题标签 [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 投票
2 回答
1295 浏览

javascript - 执行 javascript 代码以接受条款并打开下一页

我想抓取一个需要单击“接受条款”按钮才能进入的 javacode 呈现的网站。我正在使用 Scrapy 和 Splash,并尝试使用启动端点“render.html”和“执行”来执行 javascript 代码。在这两种情况下,输出都是起始页。为什么按预期进行这项工作?

url = 带有“接受条款”按钮的起始页。

url/index.aspx = 我要呈现的页面。

使用渲染.html:

或者通过使用执行和lua:

'url' 是呈现的页面。

如果我按照http://blog.scrapinghub.com/2015/03/02/handling-javascript-in-scrapy-with-splash/中的示例并将以下 lua 字符串与 jquery 一起使用,如下所示:

或者像这样使用jquery代码:

我得到相同的结果。呈现的页面是“url”。

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

scrapy - 带有 Splash 的 CrawlSpider 在第一个 URL 后卡住

我正在写一个scrapy spider,我需要用splash 来渲染一些响应。我的蜘蛛基于 CrawlSpider。我需要呈现我的 start_url 响应来喂我的爬虫。不幸的是,我的爬行蜘蛛在呈现第一个响应后停止了。知道出了什么问题吗?

0 投票
1 回答
4681 浏览

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

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

这是我所拥有的:

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

0 投票
2 回答
545 浏览

javascript - 我怎样才能点击wiyh scapy-splash

0 投票
1 回答
1819 浏览

proxy - 使用scrapy + splash爬取时如何使用多个代理?

我们用scrapy + splash爬行,我们想使用多个代理。但 splash 仅支持单个代理https://splash.readthedocs.io/en/stable/api.html#proxy-profiles

使用scrapy + splash爬取时如何使用多个代理?

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 的启动渲染引擎有关。

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