야후 보스 파이썬 도서관, 엑스피터러
-
07-07-2019 - |
문제
Yahoo Boss Mashup 프레임 워크를 설치하려고했지만 제공된 예제를 실행하는 데 어려움이 있습니다. 예 1, 2, 5 및 6 작업이지만 3 & 4는 해외 오류를 제공합니다. 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
digg.com을 쿼리하려고 할 때 두 예제가 실패한 것 같습니다. 다음은 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")
해결책
문제는 DIGG 검색 문자열입니다. "s ="여야합니다. "검색 ="가 아닙니다.
다른 팁
예제에서 오류라고 생각합니다. JSON 결과가 발생합니다 (실제로 브라우저에 해당 URL을 복사하여 붙여 넣으면 파일 이름 Search.json을 다운로드 할 것입니다.
{"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",
즉, 완벽하게 정상적인 JSON; 그러나 JSON 또는 SimpleJSON과 같은 모듈로 구문 분석하는 대신 XML로 구문 분석하려고합니다. 분명히이 시도는 실패합니다.
나는 수정 사항 (아마도 코드를 통합 할 수 있도록 해당 코드를 유지하는 사람의 관심을 끌 수 있어야 함)은 JSON 출력 대신 XML을 요청하거나, 외관을 시도하는 대신 적절한 수단으로 결과 JSON을 구문 분석하는 것입니다. XML로서 (해당 코드에 익숙하지 않으므로 변경을 가장 잘 구현하는 방법은 확실하지 않음).
제휴하지 않습니다 StackOverflow