Yahoo BOSS Python Biblioteca, ExpatError
-
07-07-2019 - |
Pergunta
Eu tentei instalar o enquadramento mashup Yahoo BOSS, mas estou tendo problemas para executar os exemplos fornecidos. Exemplos 1, 2, 5 e 6, mas o trabalho 3 e 4 apresentam erros Expat. Aqui é a saída do 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§ion=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
Parece que ambos os exemplos estão falhando ao tentar consulta Digg.com. Aqui está a consulta que é construído em código 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§ion=news")
Solução
O problema é a seqüência de pesquisa digg. Ele deve ser "s =". Não "search ="
Outras dicas
Eu acredito que deve haver um erro no exemplo: é a obtenção de um resultado JSON (na verdade, se você copiar e colar essa URL no seu navegador, você poderá baixar um search.json nomes de arquivo que começa com
{"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. JSON perfeitamente normal; mas, em seguida, em vez de analisá-lo com módulos como JSON ou simplejson, ele tenta analisá-lo como XML -. e, obviamente, esta tentativa falhar
Eu acredito que a correção (que provavelmente precisa ser levado ao conhecimento de quem mantém esse código para que possam incorporá-lo) ou é para pedir XML em vez de saída JSON, OR para analisar o JSON resultante com meios adequados, em vez de tentando olhar para ele como XML (não tenho certeza a melhor forma de implementar qualquer alteração, como eu não estou familiarizado com esse código).