pydelicious.get_popular('programming')不返回任何有效的url

时间:2015-04-09 16:18:07

标签: python

我在python中学习集体智慧编程。当我试图重复pydelicious相关代码时,我发现pydelicious.get_popular('programming')没有返回任何有效的URL。结果是{'extended': '', 'description': u'something went wrong', 'tags': '', 'url': '', 'user': '', 'dt': ''}。所以你可以看到哪里应该是一些url是空的(''),描述是something went wrong。我使用从pydelicious下载的sudo easy_install使用setup.py安装了google code。我可以成功导入pydelicious模块。我不确定是什么问题。

from pydelicious import get_popular,get_userposts,get_urlposts

def initializeUserDict(tag,count=5):
    user_dict={}
    # get the top count popular posts
    for p1 in get_popular(tag=tag)[0:count]:
        # find all users who posted this
        print p1
        for p2 in get_urlposts(p1['url']):
            user=p2['user']
            user_dict[user]={}
    return user_dict

user_dict=initializeUserDict('programming')
print user_dict

4 个答案:

答案 0 :(得分:2)

问题来自Delicious API本身: http://feeds.delicious.com/v2/rss/popular/starwars

查看API documentation,看起来不再支持此功能。但是,如果你测试最近的'标签,它也失败了。

我发了一封关于这个可能错误的电子邮件,让我们看看......

答案 1 :(得分:2)

您应该将__init__.py修改为:

rss = http_request('http://feeds.delicious.com/v2/rss').read()

我再次看到资源代码。 也许这是错误的。因为如果您编辑代码,程序答案总是保持不变......我正在研究......

答案 2 :(得分:1)

来自d.hatena.ne.jp/seika_m/20150910:

我修复了2行“pydelicious.py”。

DLCS_RSS = 'http://del.icio.us/rss/'

DLCS_RSS = 'http://feeds.delicious.com/v2/rss/'

def get_popular(tag = ""):
  return getrss(tag = tag, popular = 1)

def get_popular(tag = ""):
  return getrss(tag = tag, popular = 0)

问题解决了。

事实上。为我工作。

答案 3 :(得分:0)

更改 init .py

替换

elif popular == 0 and tag != '':
    # http://del.icio.us/rss/tag/apple
    # http://del.icio.us/rss/tag/web2.0
    url = DLCS_RSS + "tag/%s" % tag

elif popular == 1 and tag == '':
    url = DLCS_RSS + 'popular/'

elif popular == 1 and tag != '':
    url = DLCS_RSS + 'popular/%s' % tag

elif popular == 0 and tag != '':
        # http://del.icio.us/rss/tag/apple
        # http://del.icio.us/rss/tag/web2.0
        url = DLCS_RSS + "%s" % tag

    elif popular == 1 and tag == '':
        url = DLCS_RSS + 'popular/'

    elif popular == 1 and tag != '':
        url = DLCS_RSS + '%s' % tag