问题标签 [mechanize-ruby]

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

ruby - 让 ruby​​ 自动查找 http 的代理/身份验证设置的值?

我正在使用 ruby​​ gem Mechanize 通过代理访问网站并且它正在工作发现我只是想知道是否可以让 ruby​​ 自动填写我的代理设置。

我知道如何获取用户名和代理,但不知道密码,因为代理需要身份验证。

0 投票
1 回答
472 浏览

ruby - 获取 Errno::ENOMEM:通过 Mechanize “获取”页面时空间不足

我目前正在尝试遵循有关网络抓取的教程,并且收到了 ruby​​ 错误消息“Errno::ENOMEM: 没有足够的空间”。我从http://bugs.ruby-lang.org/issues/show/1063找到了一种解决方法,但我想知道是否有更永久的解决方案。我正在使用 ruby​​ 1.8.7 (2010-12-23 patchlevel 330) [i386-mingw32] 并且我无法更新到我怀疑可以解决此问题的新版本。仅当我尝试获取更大的页面时才会出现此问题。

当前解决方案:

0 投票
1 回答
289 浏览

ruby - 用机械化(红宝石)刮图像

我正在尝试使用机械化从 web_page 保存图像。我使用这段代码:

错误(我认为我的超时设置有问题):

我看到它开始抓取图像,“读取 2896 个字节(总共 12157 个)”并在之后冻结!!!解析图像不完整,图像未保存:(

我怎么解决这个问题?

0 投票
1 回答
427 浏览

ruby-on-rails - How do I convert a Nokogiri statement into Mechanize for screen scraping?

I'm trying to use Mechanize to scape some tags from a page. I've used Nokogiri successfully to scrape them before, but now I'm trying to combine them into a wider Mechanize class. Here is the Nokogiri statement:

#xA;

And here is what I thought would be the Mechanize equivalent but it's not working:

#xA;

The first one returns a link tag as expected <link rel="apple-touch-icon" etc etc..></link>. The second statement returns a blank string. If I take the to_s off the end I get a super long output. I assume it's an error or the actual Mechanize object or something.

Link to long output when not converting to string: https://gist.github.com/eadam/5583541

0 投票
1 回答
3160 浏览

ruby - 机械化 cookie_jar 不保存会话令牌

我正在根据用户的请求使用 Mechanize 来抓取受密码保护的网站。我试图通过运行一个登录站点并将 cookie 保存到数据库中的 Rake 任务来分离登录和搜索功能,该数据库可供后续的 Mechanize 请求重用。

我的问题是该cookie_jar.save方法不会将会话 cookie/令牌保存到 cookie 文件中。下面是一个简单的例子来说明这一点:

这就是我保存的 cookie 文件的样子:

您可以在控制台输出中看到会话令牌 ( JSESSIONID),但本地 cookie 文件中缺少它。我的问题是,我该如何Mechanize.cookie_jar.save_as保存会话数据?

0 投票
2 回答
366 浏览

ruby - 与 ruby​​ 的 mechanize 不同的页面

我的朋友写了一个脚本,它使用 ruby​​ 的 mechanize 在登录后从页面中获取 cookie。

  • 开始机械化
  • 通过登录
  • 从表单传递的页面中获取 cookie 值

剧本似乎对他有用,但对我不起作用。我尝试过以交互方式执行此操作,但我注意到 Mechanize 返回的页面标题与浏览器返回的页面标题不同。当我登录时,页面标题是“SSL VPN - Home”,但是当我查看返回的提交对象的标题属性时,我得到“请稍候...”

Mechanize 是否可能没有等待足够长的时间来获取目标页面?“请稍候...”似乎暗示某个中间页面被刷新或重定向,而 Mechanize 会话没有到达。无论哪种方式,我都没有得到相同的标题值。

0 投票
1 回答
1093 浏览

ruby - 使用 user_agent_alias 机械化抛出“错误参数(预期的 URI 对象或 URI 字符串)”

我正在尝试从 Twitter 获取图像,但如果我使用user_agent_alias. 我需要指定用户代理。但是为什么使用代理别名会发生这种情况?这正常吗?

尝试使用和不使用{ |agent| agent.user_agent_alias = 'Mac Safari'}块:

错误跟踪:

谢谢!

0 投票
1 回答
1179 浏览

ruby - 通过 SSH 隧道 Socks5 代理进行 Ruby 机械化?

我正在尝试让机械化通过 SSH 隧道 SOCKS5 代理。某些原因它在 HTTP 请求期间不断收到错误。就像它应该得到一个 EOF 一样。如果我关闭它工作的代理设置,我不确定它为什么会从代理接收多个连接请求。

什么可能导致多个请求被发回?没有其他流量通过隧道。

输出:

0 投票
1 回答
2332 浏览

ruby - 如何通过 Mechanize 和 Nokogiri 抓取数据?

我正在开发一个从http://www.screener.in/获取 HTML 的应用程序。

我可以输入像“Atul Auto Ltd”这样的公司名称并提交,然后从下一页抓取以下详细信息:“CMP/BV”和“CMP”。

我正在使用这段代码:

该代码将我带到正确的页面,但我不知道如何查询以获取所需的数据。

我尝试了不同的方法,但没有成功。

如果可能的话,有人能指点我一个很好的教程,它解释了如何从 HTML 页面中抓取特定的类。第一个“CMP/BV”的 XPath 是:

但它没有给出任何输出。

0 投票
1 回答
258 浏览

ruby - 在 Rails 中获取计算的字体大小

我正在使用 Rails 3 抓取网站,并进行如下查询:

然后我在做

它返回页面上所有 div 的列表。我想选择具有最大字体大小的 div。无论如何使用 Mechanize、Nokogiri 或任何其他 Rails gem 来查找计算的 div 的字体大小,然后从那里选择具有最大字体大小的那个?

谢谢