- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Mechanize 运行一个本地 Ruby 脚本,该脚本将我登录到一个网站并浏览其大约 1500 个网页并解析每个网页的信息。解析有效,但只持续一定时间;脚本运行大约 45 秒左右,然后完全停止并报告:
/Users/myname/.rvm/gems/ruby-1.9.3-p374/gems/mechanize-2.7.1/lib/mechanize/http/agent.rb:306:in `fetch': 503 => Net::HTTPServiceUnavailable for http://example.com/page;53 -- unhandled response (Mechanize::ResponseCodeError)
我不能确定,但我觉得这是由于连接超时造成的。我尝试在我的脚本中用很长的超时时间解决这个问题(这个脚本最多可能需要 15 分钟才能运行),但它仍然没有改变任何东西。如果您有任何想法,请告诉我。
这是我的脚本:
require 'mechanize'
require 'open-uri'
require 'rubygems'
agent = Mechanize.new
agent.open_timeout = 1000
agent.read_timeout = 1000
agent.max_history = 1
page = agent.get('examplesite.com')
myform = page.form_with(:action => '/maint')
myuserid_field = myform.field_with(:id => "username")
myuserid_field.value = 'myusername'
mypass_field = myform.field_with(:id => "password")
mypass_field.value = 'mypassword'
page = agent.submit(myform, myform.buttons.first)
urlArray = [giant array of webpages here]
urlArray.each do |term|
page = agent.get('' + term + '')
page.encoding = 'windows-1252'
puts agent.page.parser.xpath("//tr[4]/td[2]/textarea/text()").text + 'NEWLINEHERE'
end
最佳答案
尝试在每个循环中调用 sleep(1)
。很可能目标服务器被所有的请求压得喘不过气来。
关于ruby - Mechanize 脚本一直以 `fetch' 停止:503 => Net::HTTPServiceUnavailable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17582964/
我有一个在 Android 市场上相当流行的应用程序,它允许数以万计的用户按下一个按钮并向它发出语音命令。然后我就可以做很多不同的事情,比如给他们提供当前的天气预报等等...... 无论如何,我的应用
令人惊讶的是,标题基本上解释了它。我们有一个我们的客户制作的页面,我们正在重新创建该页面。 页面高度会一直增加,直到(我假设是这样)浏览器达到它的极限。我已经尝试过 Firebug 和 W3 验证器,
我是 react-native 的新手,试图创建我自己的组件,但它一直显示一个空屏幕。 这是我的组件代码 class BoxComponent extends Component { cons
我正在为我的 PHP 元素创建一个非常简单的博客,但遇到了一个简单的问题。我无法让我的页眉图像一直 float 。我有一个横幅,左边有一些文字,我有一个 1px 的切片,在可以选择的任何分辨率的宽度上
为什么我可以在另一个 Controller 的 View 中访问一个 Controller 的辅助方法?有没有办法在不破解/修补 Rails 的情况下禁用它? 最佳答案 @George Schreib
我正在使用带有最新 ADT 插件的 Eclipse Kepler SP2。每隔一分钟 Eclipse 就会说“为 Android 4.4.2 加载数据”并阻止我想做的一切。我在不同的文件夹中有几个 E
我是一名优秀的程序员,十分优秀!