Domanda

Ho provato a installare il framework mashup di Yahoo BOSS, ma ho problemi a eseguire gli esempi forniti. Gli esempi 1, 2, 5 e 6 funzionano, ma 3 & amp; 4 danno errori di espatriato. Ecco l'output di 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

Sembra che entrambi gli esempi non stiano funzionando durante il tentativo di interrogare Digg.com. Ecco la query costruita nel codice di 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")
È stato utile?

Soluzione

Il problema è la stringa di ricerca digg. Dovrebbe essere " s = " ;. Non " search = "

Altri suggerimenti

Credo che debba essere un errore nell'esempio: sta ottenendo un risultato JSON (in effetti se copi e incolli quell'URL nel tuo browser, scaricherai un nome di file search.json che inizia con

{"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",

vale a dire. JSON perfettamente normale; ma invece di analizzarlo con moduli come json o simplejson, tenta di analizzarlo come XML - e ovviamente questo tentativo fallisce.

Credo che la correzione (che probabilmente deve essere portata all'attenzione di chiunque mantenga quel codice per poterlo incorporare) sia chiedere XML invece dell'output JSON, O analizzare il JSON risultante con mezzi appropriati invece di cercando di vederlo come XML (non sono sicuro di come implementare al meglio entrambe le modifiche, poiché non ho familiarità con quel codice).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top