问题标签 [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 回答
3209 浏览

ruby - 使用 www::mechanize 时的 Iconv::IllegalSequence

我正在尝试做一些网络抓取,但 WWW:Mechanize gem 似乎不喜欢编码和崩溃。
发布请求导致 302 重定向(随后是机械化,到目前为止一切都很好),结果页面似乎崩溃了。我用谷歌搜索了很多,但到目前为止还没有出现如何解决这个问题。大家有什么想法吗?

代码:

错误:

0 投票
1 回答
1515 浏览

macos - 在 Mac OS X 10.4.11 上安装 mechanize gem 会出现“无法构建 gem 原生扩展”

我正在尝试在 MAC OS X 上安装 mechanize gem,但我不断收到以下错误:

错误:安装 mechanize 时出错:
错误:无法构建 gem 原生扩展。

/usr/local/bin/ruby extconf.rb install mechanize
检查#include
...是
检查#include
...是
检查#include
...是
检查#include
...是
检查xmlParseDoc()在 -lxml2... 是
检查 xsltParseStylesheetDoc() 在 -lxslt... 是
检查 exsltFuncRegister() 在 -lexslt... 是
创建 Makefile

** 制作 gcc -I。-我。-I/usr/local/lib/ruby/1.8/i686-darwin8.9.1 -I. -I/opt/local/include/ -I/opt/local/include/libxml2 -fno-common -g -O2 -pipe -fno-common -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings - Wconversion -Wmissing-noreturn -Winline -c html_document.c
在来自 ./html_document.h:4 的文件中,
来自 html_document.c:1:
./native.h:11:28: 错误: libxml/xmlsave.h: 否这样的文件或目录
make: * ** [html_document.o] 错误 1**

所以在 /opt/local/include/ 或 /opt/local/include/libxml2 中找不到 xmlsave.h 事情是 libxml2 作为框架安装在 /Library/Frameworks/libxml2.framework/

然后我决定创建一个从 libxml 头目录到 /opt/local/include/xml2 的符号链接,所以我做了

但我仍然无法安装 gem。

非常感谢任何指针或想法。

0 投票
1 回答
2172 浏览

ruby - Ruby - 带有 WWW::Mechanize 和 NET::HTTP::GET 的 Socks4 代理

我在谷歌上搜索并阅读了 ruby​​ 手册,但我找不到通过 socks4 代理使用 WWW::Mechanize 和 NET::HTTP::GET 的方法。

我读到, WWW::Mechanize 是 UserAgent 模块的子类,因此 ->proxy() 方法可以工作。但是该手册只讨论了 http、ftp 和 gopher 代理。

任何想法如何支持socks4?以下是代码片段:

0 投票
1 回答
412 浏览

ruby-on-rails - 使用奇怪的 https 表单 RoR 进行机械化

我正在使用 RoR 尝试使用mechanize在我的大学中搜索一个简单的表格。该代码适用于搜索谷歌,但在结果中返回搜索表单?我真的很困惑。有什么建议吗?谢谢!

0 投票
1 回答
1110 浏览

ruby - Firefox 和 Ruby Mechanize 之间的表单参数差异

我试图弄清楚 mechanize 是否发送正确的 post query

我想登录论坛(请参阅html 源代码,在我的另一个问题中机械化登录),但我再次只获得登录页面。在查看它时,我可以看到 firefox 发出带有参数的帖子,例如

auth_username=myusername&auth_password=mypassword&auth_login=Login但我的脚本发送

auth_username=radek&auth_password=mypassword可以吗,还是&auth_login=Login零件必须存在?

当我尝试使用添加它时login_form['auth_login'] = 'Login'出现错误gems/mechanize-0.9.3/lib/www/mechanize/page.rb:13 inmeta': undefined methodsearch' for nil:NilClass (NoMethodError)

在我看来 auth_login 是一个表单按钮而不是一个字段(我不知道这是否重要)

我的脚本如下

您可以找到更多代码,html,登录我的其他相关问题使用浏览器登录然后 ruby​​/mechanize 接管它?

0 投票
2 回答
5949 浏览

ruby-on-rails - Ruby Mechanize 表抓取不会捕获整行

我正在尝试用 mechanize 抓取一个表格网站。我想刮第二排。

当我运行时:

agent.page.search('table.ea').search('tr')[-2].search('td').map{ |n| n.text }

我希望它会刮掉整行。但它只会刮擦:[“2011-02-17”,“0,00”]

为什么它不抓取行中的所有列,而只抓取第一列和最后一列?

Xpath: /html/body/center/table/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/table/tbody/tr[2]/td/table/tbody/tr [2]

CSS PATH: html body center table tbody tr td table tbody tr td table tbody tr td table.ea tbody tr td.total

该页面与此类似:

0 投票
2 回答
3343 浏览

mysql - `sysread': 使用 Ruby 和 mysql 时中断的系统调用 (Errno::EINTR)

我正在用 mechanize 抓取一个站点并推送到一个 mysql 数据库。我经常收到这些系统读取错误,但我不确定解决方案是什么。我正在使用 Ruby-mysql gem。

0 投票
2 回答
1354 浏览

ruby - 如何为 Webrat、Mechanize 设置“基本 URL”

我想指定一个基本 URL,所以我不必总是指定绝对 URL。如何指定 Mechanize 使用的基本 URL?

0 投票
4 回答
1259 浏览

ruby - 有人知道 Ruby Mechanize 的缓存插件吗?

我有一个基于机械化的 Ruby 脚本来抓取网站。我希望通过在本地缓存下载的 HTML 页面来加快速度,以使整个“调整输出 - > 运行 - > 调整输出”周期更快。我宁愿不必仅为此脚本在机器上安装外部缓存。理想的解决方案是插入 Mechanize 并透明地缓存获取的页面、图像等。

有人知道会这样做的图书馆吗?或者实现相同结果的另一种方式(脚本第二轮运行得更快)?

0 投票
1 回答
6695 浏览

ruby - 捕获 Mechanize 404 => Net::HTTPNotFound

我编写了处理 url 获取的简单函数:

问题是,即使我Net::HTTPNotFound在第一个救援块中遇到问题,我仍然在我的日志记录中看到:

这意味着此异常被第二个救援块捕获。这可能是什么原因?