【发布时间】:2015-02-07 10:26:58
【问题描述】:
对于任何不清楚的地方,我提前道歉(我是编程新手)。我正在尝试使用 lxml.etree 解析一组本地文件。我使用 lxml(和 xpath)编写了一个解析脚本,该脚本从 SEC 网页中查找相关数据并导出到 .csv 文件。该脚本适用于单个 url,但我想推广到数千个 html 页面。我已经在本地下载了所有 html 文件(我使用 curl 获取链接,使用 wget 下载)——但我在替换解析器方面没有任何成功。有效的旧版本是:
page = requests.get('url')
tree = html.fromstring(page.text)
我尝试用 etree.parse 替换它,以便解析本地下载在“Bullseye”目录中的文件
path = "/Users/dbk13/Desktop/SEC/bullseye"
dirs = os.listdir( path )
for files in dirs:
page = os.path.join(path,files)
etree.parse(page)
我的本地文件路径有问题吗?
我不断收到的错误类似于:
文件“postings_up_updated.py”,第 26 行,在 etree.parse(page) 文件“lxml.etree.pyx”,第 3299 行,在 lxml.etree.parse (src/lxml/lxml.etree.c:72421) 文件“parser.pxi”中, 第 1791 行,在 lxml.etree._parseDocument (src/lxml/lxml.etree.c:105883) 文件“parser.pxi”,第 1817 行,位于 lxml.etree._parseDocumentFromURL (src/lxml/lxml.etree.c:106182) 文件“parser.pxi”,第 1721 行,在 lxml.etree._parseDocFromFile (src/lxml/lxml.etree.c:105181) 文件 “parser.pxi”,第 1122 行,在 lxml.etree._BaseParser._parseDocFromFile (src/lxml/lxml.etree.c:100131) 文件“parser.pxi”,第 580 行,在 lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:94254) 文件“parser.pxi”,第 690 行,在 lxml.etree._handleParseResult (src/lxml/lxml.etree.c:95690) 文件 “parser.pxi”,第 620 行,在 lxml.etree._raiseParseError (src/lxml/lxml.etree.c:94757) lxml.etree.XMLSyntaxError: 文档是 空,第 1 行,第 1 列
【问题讨论】:
-
空文件不是有效的 XML 文档!显然,
/Users/dbk13/Desktop/SEC/bullseye中有一个空文件。
标签: python parsing path lxml elementtree