Frage

Ich habe versucht, den Yahoo BOSS Mashup Rahmen zu installieren, aber Probleme habe die Beispiele bereitgestellt läuft. Beispiele 1, 2, 5 und 6 arbeiten, aber 3 & 4 Expat Fehler geben. Hier ist die Ausgabe von 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

Es sieht aus wie die beiden Beispiele fehlschlagen, wenn Digg.com abfragen wollen. Hier ist die Abfrage, die in ex3.py Code aufgebaut ist:

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")
War es hilfreich?

Lösung

Das Problem ist der digg Suchtext. Es sollte „s =“ sein. Nicht "search ="

Andere Tipps

Ich glaube, dass ein Fehler in dem Beispiel sein muss: Es ist ein JSON Ergebnis zu erzielen (in der Tat, wenn Sie diese URL in Ihrem Browser kopieren und einfügen, erhalten Sie eine Dateinamen herunterladen search.json denen beginnt mit

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

d. ganz normal JSON; aber dann, anstatt sie mit Modulen wie json oder simplejson Parsen, versucht es als XML zu analysieren -. und natürlich dieser Versuch fehlschlägt

ich glaube, das Update (was wahrscheinlich zur Kenntnis gebracht werden muss, wer auch immer diesen Code unterhält, damit sie es übernehmen kann) entweder für XML zu fragen, anstatt JSON-Ausgang oder die resultierende JSON parsen mit geeigneten Mitteln statt versuchen, es als XML zu suchen (nicht sicher, wie man am besten entweder Änderung implementieren, da ich mit diesem Code nicht vertraut bin).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top