【发布时间】:2012-01-05 23:39:46
【问题描述】:
Facebook 通过其广告平台提供人口统计数据。如何抓取它(使用 Python)?
1.) 转到http://www.facebook.com/ads/create/
2.) 填写表格
3.) 现在,有数据了
查看示例图片:http://www.webdistortion.com/wp-content/uploads/2010/10/fb4.jpg (我是新用户,所以不能发图)
问题:怎么刮?
我的想法:
1.) 使用 mechanize - 也许可以填写表格,但估计的数字(示例中为 112,960)在源代码中不可见,因此您无法解析它 => 我们应该做一些其他的技巧,但是什么?
2.) 使用 selenium(或风车) - 我的录音是:打开 facebook.com --> 点击广告 --> 点击创建广告 --> ...
不幸的是,这已经失败了。日志:
[info] Executing: |open | / | |[信息] 执行:|clickAndWait |链接=广告 | | [错误] isNewPageLoaded 发现一个旧的 pageLoadError: 错误: Permission denied for >> to get property Location.href [错误] 获取属性 Location.href 的权限被拒绝 [信息] 执行:|clickAndWait | css=span.uiButtonText | | [错误] 意外异常:fileName -> chrome://selenium-ide/content/selenium-core/scripts/selenium-browserbot.js, lineNumber -> 840
有证据表明可以抓取这些数据:http://www.checkfacebook.com/
解决问题比数据本身更有趣(ofc,这个数据当然很有趣)。我知道有解决办法,但我想不出任何办法。它正在杀死我,请帮助。
【问题讨论】:
-
只是一个简短的评论。当您说“在源代码中不可见”时,您的意思是在原始源代码中不可见。如果它显示在您的屏幕上,则它是 HTML,因此存在于文档中。