如何从Python中查看Tumblr帖子的所有注释?

时间:2013-01-19 14:59:18

标签: python beautifulsoup urllib2 tumblr

说我看下面的Tumblr帖子:http://ronbarak.tumblr.com/post/40692813…
它(目前)有292个音符。

我想使用Python脚本(例如,通过urllib2,BeautifulSoup,simplejson或tumblr Api)获得所有上述注释。 一些广泛的谷歌搜索没有产生任何与Tumblr中的笔记提取相关的项目。

任何人都可以指出我在哪个工具上让我这样做的正确方向?

4 个答案:

答案 0 :(得分:7)

不幸的是,看起来Tumblr API有一些限制(缺少关于Reblogs的元信息,注释限制为50),所以你无法获得所有笔记。

禁止根据Terms of Service进行页面抓取。

  

“访问或使用服务时,您不得执行以下任何操作:( ......)在未经Tumblr事先书面同意的情况下,从服务中删除服务,特别是抓取内容(定义如下);”< / p>

来源:

https://groups.google.com/forum/?fromgroups=#!topic/tumblr-api/ktfMIdJCOmc

答案 1 :(得分:5)

如果没有JS,您将获得仅包含注释的单独页面。对于上述博客文章,第一页将是:

  

http://ronbarak.tumblr.com/notes/40692813320/4Y70Zzacy

以下页面链接在底部,例如:

(请参阅a的{​​{1}}属性中的my answer on how to find the next URL。)

现在您可以使用各种工具下载/解析数据。

以下wget命令应该下载该帖子的所有备注页面:

onclick

答案 2 :(得分:3)

就像法比奥所暗示的那样,最好使用API​​。

如果出于任何原因你不能,那么你将使用的工具将取决于你想要对帖子中的数据做什么。

  • 表示数据转储:urllib将返回您想要的页面字符串
  • 在html中查找特定部分:lxml非常好
  • 在unruly html中找东西:绝对是beautifulsoup
  • 在一个部分中查找特定项目:beautifulsoup,lxml,文本解析是您所需要的。
  • 需要将数据放入数据库/文件中:使用scrapy

Tumblr url方案很简单:url / scheme / 1,url / scheme / 2,url / scheme / 3等等......直到你到达帖子的末尾并且服务器不再返回任何数据

因此,如果您要以强制方式进行抓取,您可以轻松地告诉您的脚本将所有数据转储到您的硬盘上,直到内容标记为空。

最后一句忠告,请记住在你的脚本中放一个小睡眠(1000),因为你可能会对Tumblr服务器施加一些压力。

答案 3 :(得分:0)

how to load all notes on tumblr? 也涵盖了这个主题,但是英国的回复(上图)做得非常好。