标签: html-xml-utils

解析本地 HTML python (lxml)

我正在尝试使用 lxml 解析本地 HTML,但出现错误,但我不知道为什么(对于错误的代码提前抱歉,我是新手)。

from lxml import etree, html
from StringIO import StringIO

parser = etree.HTMLParser()
doc = etree.parse(StringIO("test1.html"), parser)
tree = html.fromstring(doc)
CCE = tree.xpath('//div[@data-reactid]/div[@class="browse-summary"]/h1')
URL = tree.xpath('//a[@class="rc-OfferingCard"]/@href')

print 'CCE:', CCE
print 'URL:', URL
Run Code Online (Sandbox Code Playgroud)

这是错误:

  File "test.py", line 8, in <module>
tree = html.fromstring(doc)
File "/usr/lib/python2.7/dist-packages/lxml/html/__init__.py", line 703, in fromstring
is_full_html = _looks_like_full_html_unicode(html)
TypeError: expected string or buffer
Run Code Online (Sandbox Code Playgroud)

python lxml html-xml-utils

4
推荐指数
1
解决办法
2978
查看次数

xml2csv 包错误 '_IterParseIterator' 对象没有属性 'next'

我正在使用 xmlutils 包将 xml 文件转换为 csv。我的代码如下:

from xmlutils.xml2csv import xml2csv as x
input_path='/media/ishan/Local Disk/doc.xml'
output_path='media/ishan/Local Disk/d.csv'
data=x(input_path,output_path,encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常。但是当我输入:

data.convert(tag="sku")
Run Code Online (Sandbox Code Playgroud)

它显示以下错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-27-f15935c368f9> in <module>()
----> 1 data.convert(tag="PIES")

/home/ishan/.local/lib/python3.5/site-packages/xmlutils/xml2csv.py in convert(self, tag, delimiter, ignore, noheader, limit, buffer_size, quotes)
 55 
 56                 # get to the root
---> 57                 event, root = self.context.next()
 58 
 59                 items = []

AttributeError: '_IterParseIterator' object has no attribute 'next'
Run Code Online (Sandbox Code Playgroud)

我无法理解我做错了什么。我对这个包完全陌生。为什么我收到这个错误?如果您可以建议任何其他将 xml 文件转换为 csv 的方法,这对我也有帮助。提前致谢。

python html-xml-utils

2
推荐指数
1
解决办法
3049
查看次数

标签 统计

html-xml-utils ×2

python ×2

lxml ×1