问题标签 [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.
ruby - 使用 www::mechanize 时的 Iconv::IllegalSequence
我正在尝试做一些网络抓取,但 WWW:Mechanize gem 似乎不喜欢编码和崩溃。
发布请求导致 302 重定向(随后是机械化,到目前为止一切都很好),结果页面似乎崩溃了。我用谷歌搜索了很多,但到目前为止还没有出现如何解决这个问题。大家有什么想法吗?
代码:
错误:
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。
非常感谢任何指针或想法。
ruby - Ruby - 带有 WWW::Mechanize 和 NET::HTTP::GET 的 Socks4 代理
我在谷歌上搜索并阅读了 ruby 手册,但我找不到通过 socks4 代理使用 WWW::Mechanize 和 NET::HTTP::GET 的方法。
我读到, WWW::Mechanize 是 UserAgent 模块的子类,因此 ->proxy() 方法可以工作。但是该手册只讨论了 http、ftp 和 gopher 代理。
任何想法如何支持socks4?以下是代码片段:
ruby-on-rails - 使用奇怪的 https 表单 RoR 进行机械化
我正在使用 RoR 尝试使用mechanize在我的大学中搜索一个简单的表格。该代码适用于搜索谷歌,但在结果中返回搜索表单?我真的很困惑。有什么建议吗?谢谢!
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 in
meta': undefined methodsearch' for nil:NilClass (NoMethodError)
在我看来 auth_login 是一个表单按钮而不是一个字段(我不知道这是否重要)
我的脚本如下
您可以找到更多代码,html,登录我的其他相关问题使用浏览器登录然后 ruby/mechanize 接管它?
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
该页面与此类似:
mysql - `sysread': 使用 Ruby 和 mysql 时中断的系统调用 (Errno::EINTR)
我正在用 mechanize 抓取一个站点并推送到一个 mysql 数据库。我经常收到这些系统读取错误,但我不确定解决方案是什么。我正在使用 Ruby-mysql gem。
ruby - 如何为 Webrat、Mechanize 设置“基本 URL”
我想指定一个基本 URL,所以我不必总是指定绝对 URL。如何指定 Mechanize 使用的基本 URL?
ruby - 有人知道 Ruby Mechanize 的缓存插件吗?
我有一个基于机械化的 Ruby 脚本来抓取网站。我希望通过在本地缓存下载的 HTML 页面来加快速度,以使整个“调整输出 - > 运行 - > 调整输出”周期更快。我宁愿不必仅为此脚本在机器上安装外部缓存。理想的解决方案是插入 Mechanize 并透明地缓存获取的页面、图像等。
有人知道会这样做的图书馆吗?或者实现相同结果的另一种方式(脚本第二轮运行得更快)?
ruby - 捕获 Mechanize 404 => Net::HTTPNotFound
我编写了处理 url 获取的简单函数:
问题是,即使我Net::HTTPNotFound
在第一个救援块中遇到问题,我仍然在我的日志记录中看到:
这意味着此异常被第二个救援块捕获。这可能是什么原因?