我是Python的新手,希望在Scraperwiki中构建一个屏幕抓取器,但我正在努力解决一个错误,我无法解决如何解决问题。 本质上,我想解析一个xml文件,但无法弄清楚如何让我的gp_indicators_scrape函数访问getroot()方法。
任何人都可以解决它,更重要的是,请指出我的解释,以便将来可以避免这个问题吗?
这是刮刀:https://scraperwiki.com/scrapers/choiceshu1
代码的关键部分:
import lxml.html
import urlparse
from urlparse import urlparse
from lxml.etree import etree
def gp_indicators_scrape(org_URL):
indicator_xml = etree.parse(org_URL)
root = lxml.etree.getroot(indicator_XML)
print root
html = scraperwiki.scrape(combined_URL_for_first_scrape)
print html
root = lxml.html.fromstring(html)
links = root.cssselect("dd a")
这是运行时的错误
Line 5 - from lxml.etree import etree
ImportError: cannot import name etree
答案 0 :(得分:1)
from lxml.etree import etree
应为from lxml import etree
另外,只需注意 - lxml.etree.getroot(...)
- 如果您使用上面的导入,则可以删除lxml.
,通常您会通过getroot()
(通过etree.parse
返回的对象调用{{1}}(或类似的。)
注意:我没有查看提供的链接中的代码...