我正在解析以下页面:http : //www.amazon.de/product-reviews/B004K1K172 使用基于 lxml 的 etree 进行解析。
包含整个页面内容的内容变量
代码:
myparser = etree.HTMLParser(encoding="utf-16") #As characters are beyond utf-8
tree = etree.HTML(content,parser = myparser)
review = tree.xpath(".//*[@id='productReviews']/tr/td[1]/div[1]/text()")
这将返回一个空列表。
但是当我将代码更改为:
myparser = etree.HTMLParser(encoding="utf-8") #Neglecting some reviews having ascii character above utf-8
tree = etree.HTML(content,parser = myparser)
review = tree.xpath(".//*[@id='productReviews']/tr/td[1]/div[1]/text()")
现在我正在使用相同的 Xpath 获取正确的数据。但是大多数评论都被拒绝了。那么这是基于 lxml 的 xpath 或我的 xpath 实现的问题吗?
如何使用 utf-16 编码解析上述页面?