3

我正在尝试单击主页上的“设置”按钮,但是当我这样做时,我会返回此页面:

#<WWW::Mechanize::Page
 {url
  #<URI::HTTP:0x1023c5fc0 URL:http://www.facebook.com/editaccount.php?ref=mb&drop>}
 {meta}
{title nil}
{iframes}
{frames}
{links}
{forms}>

这是..有点空!这些 iframe 和框架的东西可能有问题吗?

4

2 回答 2

3

正如 roja 所提到的,您可能需要以下重定向。以下是如何执行此操作的示例:

@agent = Mechanize.new
@agent.redirect_ok = :all
@agent.follow_meta_refresh = :anywhere

然后您几乎可以忽略涉及重定向的事实 - Mechanize 只会将您放在结果页面上。

于 2012-10-01T02:44:41.427 回答
2

Facebook 将我重定向到:https ://register.facebook.com/editaccount.php ,我认为这是最终目的地。假设 WWW::Mechanize 设置为遵循 https 重定向,您也应该最终到达那里。

像大多数现代网站一样,大部分 facebook 都是由 javascript 生成的,我认为 WWW::Mechanize 无法应对,这可能是您问题的根源。我建议在您访问的 url 附加“?_fb_noscript = 1”时尝试抓取。这会关闭大部分 facebooks javascript 系统,并且应该为您的小机器人提供更顺畅的旅程。

(请记住,这只是一个想法,毫无疑问,您所做的任何事情都违反了 Facebook 的使用政策,这使您成为“坏人”。我不容忍这种坏事,并相信应该强迫坏人早睡等......恶心

于 2010-02-04T19:49:23.793 回答