问题标签 [screen-scraping]

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 回答
77 浏览

windows - 阅读和响应屏幕上的匹配标准

我正在为我的 Win32 系统开发一些可以查找和响应特定屏幕事件的东西。例如,当我的屏幕(屏幕的 30x30 像素部分)的位图范围 (100,100) 到 (130,130) 与提供的 30x30 像素基线匹配时,请执行特定操作。

任何人都可以让我开始吗?也许有一个框架可以让这更容易?或者我可以使用的包?甚至可能是第 3 方实用程序?

0 投票
7 回答
6168 浏览

c# - 如何在 C# 中登录网页并检索其内容?

如何在 C# 中登录网页并检索其内容?

0 投票
2 回答
847 浏览

javascript - 绕过屏幕抓取时发生的警报和错误

我创建了一个网页来筛选一个站点,同时从另一个站点抓取;该站点上存在一些错误,因此它会引发错误(预期对象)。但最后我得到了完美的结果。

它表明错误发生在我的程序中。是否可以绕过这些错误(不在屏幕上显示它们)。我不想显示这些错误,并且在抓取时是否可以绕过警告框而不在屏幕上显示它。

请指导我。

0 投票
2 回答
181 浏览

html - Generating possible URLs from forms

I am trying to get all the URLs (and then get the data) that are generated by the form on this page - http://www.vodafone.in/_layouts/servicecallertunes.aspx with little success.

I have installed HTTP Headers(0.14) addon on Firefox 3.0.5, Ubuntu. But the resultant URL is very weird and pretty long. Eg:

(goes on for more than 5000 characters)

What are the possible programmable options to get data from the above form? My only idea currently is to generate all the possible URLs and then get the data.

Thanks in advance. Bart J

0 投票
8 回答
3489 浏览

regex - 屏幕抓取:正则表达式还是 XQuery 表达式?

我正在回答一些面试问题,问题是关于我将如何进行屏幕抓取。也就是说,从网页中挑选内容,假设您没有更好的结构化方式来直接查询信息(例如 Web 服务)。

我的解决方案是使用XQuery表达式。表达式相当长,因为我需要的内容在 HTML 层次结构中很深。在找到具有id属性的元素之前,我必须以公平的方式搜索祖先。例如,为 Product Dimensions 抓取 Amazon.com 页面如下所示:

这是一个非常讨厌的表达方式,但这就是亚马逊提供 Web 服务 API 的原因。无论如何,这只是一个例子。问题不是关于亚马逊,而是关于屏幕抓取。

面试官不喜欢我的解决方案。他认为它很脆弱,因为亚马逊对页面设计的更改可能需要重写 XQuery 表达式。调试与应用它的页面中的任何内容都不匹配的 XQuery 表达式是很困难的。

我并不反对他的说法,但我认为他的解决方案没有任何改进:他认为最好使用正则表达式,并在运输重量附近搜索内容和标记。例如,使用 Perl:

我的反驳是,这也容易受到亚马逊更改其 HTML 代码的影响。他们可以用大写字母 ( ) 拼写 HTML 标签<LI>,或添加 CSS 属性或将标签“产品尺寸:”更改<b><span>更改为“尺寸:”或许多其他类型的更改。我的观点是,正则表达式并不能解决他在我的 XQuery 解决方案中指出的弱点。

但除此之外,正则表达式可能会发现误报,除非您为表达式添加足够的上下文。它还可能无意中匹配恰好位于注释、属性字符串或 CDATA 部分中的内容。

我的问题是,您使用什么技术来进行屏幕抓取?你为什么选择那个解决方案?有什么令人信服的理由使用一个吗?或者从不使用另一个?除了我上面展示的那些之外,还有第三种选择吗?

PS:为了论证起见,假设没有 Web 服务 API 或其他更直接的方式来获取所需的内容。

0 投票
7 回答
8953 浏览

perl - 如何下载 Yahoo Groups?

我想下载一些雅虎群组(文件、照片、消息、成员列表),我找到了这些脚本:

我已经从 CPAN 下载了 ActivePerl 和所需的模块(没什么花哨的;它们很容易找到)。我已经设法安装了它们,但是当我运行脚本时,在它告诉我我已成功登录后出现错误:“在 yahoogroups_files.pl 行的模式匹配 (m//) 中使用未初始化的值 $cells 244,第 2 行。”

我猜雅虎改变了页面的布局或其他东西,但我自己无法更新脚本。当谈到 Perl 和了解 Yahoo 生成页面的方式时,我是一个新手,我只知道一些基本的 C++。我想说我并不懒惰,我会尝试自己修复它,但我需要你的帮助:提示,建议,任何东西。

PS:我已经联系了作者,但他不愿意更新脚本。

0 投票
4 回答
2119 浏览

python - 为什么 Beautiful Soup 会截断此页面?

我正在尝试从我的学校图书馆订阅的资源列表中提取资源/数据库名称和 ID 列表。有些页面列出了不同的资源,我可以使用 urllib2 来获取页面,但是当我将页面传递给 BeautifulSoup 时,它会在列表中第一个资源的条目结束之前截断它的树。问题似乎出在用于将资源添加到搜索集中的图像链接中。这是事情被切断的地方,这是HTML:

这是我的python代码:

在 BeautifulSoup 的版本中,开头会<a href...>显示,但<img>不会,并且<a>会立即关闭,其他打开的标签也是如此,一直到</html>.

对于这些“添加到集合”图像,我看到的唯一显着特征是它们是唯一具有 name 和 id 属性的图像。不过,我不明白为什么这会导致 BeautifulSoup 立即停止解析。

注意:我对 Python 几乎是全新的,但似乎完全理解它。

感谢您的帮助!

0 投票
4 回答
2384 浏览

ruby - 屏幕抓取网页,使用 Mechanize 明智地显示数据页面

我正在尝试筛选一个网页(使用 Mechanize),它以网格页面的方式显示记录。我能够读取第一页中显示的值,但现在需要导航到下一页以读取适当的值。

我能够通过所有链接但是当我尝试这个时: -

原因是 agent.click 期望 URL 作为参数。

有没有一种方法可以在页面显示时读取所有值?如果不是,当 href 是回发而不是 URL 时,我们怎么能有这样的点击操作?

0 投票
4 回答
2707 浏览

ruby - 屏幕抓取 ASP.NET 网页以检索显示在网格视图中的数据

我正在使用 RUBY 筛选使用 gridview 显示数据的网页(在 asp.net 中创建)。我能够成功读取网格第 1 页上显示的数据,但无法弄清楚如何移动到网格中的下一页以读取所有数据。

问题是页码超链接不是普通的超链接(带有 URL),而是导致回发到同一页面的 javascript 超链接。

超链接的一个例子: -

0 投票
5 回答
2160 浏览

python - 正在寻找关于网络抓取项目最佳实践的优秀教程的推荐?

我需要做一个涉及网络抓取的相当广泛的项目,并且正在考虑使用 Hpricot 或 Beautiful Soup(即 Ruby 或 Python)。有没有人遇到过他们认为在这个主题上特别好的教程,可以帮助我正确地开始这个项目?