【问题标题】:How to scrape a _private_ google group?如何抓取 _private_ google 群组?
【发布时间】:2011-02-03 16:23:27
【问题描述】:

我想抓取一个私人 google 组的讨论列表。这是一个多页列表,我以后可能不得不再次这样做,所以脚本听起来像是要走的路。

由于这是一个私人群组,我需要先登录我的谷歌帐户。 不幸的是,我无法使用 wget 或 ruby​​ Net::HTTP 登录。令人惊讶的是,Client Login interface 无法访问 google 群组,因此所有代码示例均无用。

我的 ruby​​ 脚本嵌入在帖子的末尾。对身份验证查询的响应是 200-OK,但响应标头中没有 cookie,并且正文包含消息“您的浏览器的 cookie 功能已关闭。请打开它。”

我用 wget 得到了相同的输出。请参阅此消息末尾的 bash 脚本。

我不知道如何解决这个问题。我错过了什么吗?任何想法?

提前致谢。

约翰

这是 ruby​​ 脚本:

# a ruby script
require 'net/https'

http = Net::HTTP.new('www.google.com', 443)
http.use_ssl = true
path = '/accounts/ServiceLoginAuth'


email='john@gmail.com'
password='topsecret'

# form inputs from the login page
data = "Email=#{email}&Passwd=#{password}&dsh=7379491738180116079&GALX=irvvmW0Z-zI"
headers =  { 'Content-Type' => 'application/x-www-form-urlencoded',
'user-agent' => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/6.0"}

# Post the request and print out the response to retrieve our authentication token
resp, data = http.post(path, data, headers)
puts resp
resp.each {|h, v| puts h+'='+v}

#warning: peer certificate won't be verified in this SSL session

这是 bash 脚本:

# A bash script for wget
CMD=""
CMD="$CMD --keep-session-cookies --save-cookies cookies.tmp"
CMD="$CMD --no-check-certificate"
CMD="$CMD --post-data='Email=john@gmail.com&Passwd=topsecret&dsh=-8408553335275857936&GALX=irvvmW0Z-zI'"
CMD="$CMD --user-agent='Mozilla'"
CMD="$CMD https://www.google.com/accounts/ServiceLoginAuth"
echo $CMD
wget $CMD
wget --load-cookies="cookies.tmp" http://groups.google.com/group/mygroup/topics?tsc=2

【问题讨论】:

    标签: ruby authentication screen-scraping wget google-groups


    【解决方案1】:

    您是否尝试过将mechanize 用于红宝石?
    机械化库用于与网站的自动化交互;您可以登录 google 并浏览您的私人 google 组以保存您需要的内容。

    Here 机械化用于 gmail 抓取的示例。

    【讨论】:

    • 您好 systempuntoout,感谢您的回答。我不知道机械化。我设法登录并抓取了一些页面,这很棒。稍后我会分享脚本。再次感谢,约翰
    • 感谢您的链接!你基本上可以用 irb 和 mechanize object 上网!
    【解决方案2】:

    我之前通过使用 Firefox 手动登录,然后使用 Chickenfoot 自动浏览和抓取。

    【讨论】:

    • Chickenfoot 看起来也很有用。我的工具箱里有一个不错的插件!谢谢!
    【解决方案3】:

    找到这个 PHP 解决方案到scraping private Google Groups

    【讨论】:

    • 感谢 Profjim 的链接。但是我的问题是处理谷歌组登录。抓取公共组是可以的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多