Question

J'ai essayé d'installer le framework mashup Yahoo BOSS, mais je ne parviens pas à exécuter les exemples fournis. Les exemples 1, 2, 5 et 6 fonctionnent, mais 3 & amp; 4 donner des erreurs Expat. Voici le résultat de ex3.py:

gpython examples/ex3.py
    examples/ex3.py:33: Warning: 'as' will become a reserved keyword in Python 2.6
Traceback (most recent call last):
  File "examples/ex3.py", line 27, in <module>
    digg = db.select(name="dg", udf=titlef, url="http://digg.com/rss_search?search=google+android&area=dig&type=both&section=news")
  File "/usr/lib/python2.5/site-packages/yos/yql/db.py", line 214, in select
    tb = create(name, data=data, url=url, keep_standards_prefix=keep_standards_prefix)
  File "/usr/lib/python2.5/site-packages/yos/yql/db.py", line 201, in create
    return WebTable(name, d=rest.load(url), keep_standards_prefix=keep_standards_prefix)
  File "/usr/lib/python2.5/site-packages/yos/crawl/rest.py", line 38, in load
    return xml2dict.fromstring(dl)
  File "/usr/lib/python2.5/site-packages/yos/crawl/xml2dict.py", line 41, in fromstring
    t = ET.fromstring(s)
  File "/usr/lib/python2.5/xml/etree/ElementTree.py", line 963, in XML
    parser.feed(text)
  File "/usr/lib/python2.5/xml/etree/ElementTree.py", line 1245, in feed
    self._parser.Parse(data, 0)
    xml.parsers.expat.ExpatError: syntax error: line 1, column 0

Il semble que les deux exemples échouent lorsque vous essayez d'interroger Digg.com. Voici la requête construite dans le code de ex3.py:

diggf = lambda r: {"title": r["title"]["value"], "diggs": int(r["diggCount"]["value"])}
digg = db.select(name="dg", udf=diggf, url="http://digg.com/rss_search?search=google+android&area=dig&type=both&section=news")
Était-ce utile?

La solution

Le problème est la chaîne de recherche digg. Il devrait s'agir de "s =". Non "search ="

Autres conseils

Je pense que cela doit être une erreur dans l'exemple: cela donne un résultat JSON (en effet, si vous copiez et collez cette URL dans votre navigateur, vous téléchargerez un nom de fichier search.json qui commence par

{"results":[{"profile_image_url":
"http://a3.twimg.com/profile_images/255524395/KEN_OMALLEY_REVISED_normal.jpg",
"created_at":"Mon, 14 Sep 2009 14:52:07 +0000","from_user":"twilightlords",

i.e. JSON parfaitement normal; mais au lieu de l’analyser avec des modules tels que json ou simplejson, il essaie de l’analyser en tant que XML - et évidemment, cette tentative échoue.

Je pense que le correctif (qui doit probablement être porté à l'attention de quiconque maintient ce code afin de l'intégrer) consiste soit à demander du XML au lieu de la sortie JSON, OU à analyser le JSON résultant avec des moyens appropriés au lieu de essayez de voir cela en XML (je ne sais pas comment implémenter au mieux l'un ou l'autre de ces changements, car je ne connais pas ce code).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top