Python &引用;类型';lxml.etree._elementunicodesult';无法序列化";

Python &引用;类型';lxml.etree._elementunicodesult';无法序列化";,python,web-scraping,lxml,Python,Web Scraping,Lxml,我使用lxml从网页中提取数据,但无法将结果ElementUnicode对象转换为字符串。这是我的密码: from lxml import html from lxml import etree from lxml.etree import tostring url = 'https://www.imdb.com/title/tt5848272/?pf_rd_m=A2FGELUUNOQJNL&pf_rd_p=2413b25e-e3f6-4229-9efd-599bb9ab1f97&am

我使用lxml从网页中提取数据,但无法将结果ElementUnicode对象转换为字符串。这是我的密码:

from lxml import html
from lxml import etree
from lxml.etree import tostring

url = 'https://www.imdb.com/title/tt5848272/?pf_rd_m=A2FGELUUNOQJNL&pf_rd_p=2413b25e-e3f6-4229-9efd-599bb9ab1f97&pf_rd_r=9S5A89ZHEXE4K8SZBC40&pf_rd_s=right-2&pf_rd_t=15061&pf_rd_i=homepage&ref_=hm_otw_t0'

page = requests.get('url')
tree = html.fromstring(page.content)

a = tree.xpath('//div[@class="credit_summary_item"]/a[../h4/text() = "Directors:"]/text()')
mynewlist = []
for i in a:
  b = etree.tostring(i, method="text")
  mynewlist.append(b)
以下是我得到的错误:

TypeError: Type 'lxml.etree._ElementUnicodeResult' cannot be serialized.

任何帮助都将不胜感激。

变量
i
是一个对象(一种特殊类型的字符串)。您不能将其用作参数

a
变量(XPath计算的结果)是所需字符串的列表。如果此列表的元素必须是纯字符串而不是
\u elementunicodesult
对象,则可以使用列表理解:

newlist = [str(s) for s in a]

我也很难将
'lxml.etree.\u elementunicodesult'
转换为字符串

然后我找到了以下链接

您可以看到
\u elementunicodesult
unicode
继承了许多函数

我使用了
\uu str\uu()
函数,将其转换为字符串类型


它还直接支持许多其他字符串操作。你可以签入链接。希望这有帮助;)

你能给我们你正在解析的xml文件吗?根据我的经验,
tree.xpath('//path/text()')
应该输出一个字符串列表,所以你接下来要做的事情对我来说有点奇怪,因为我从网页上抓取XML,所以没有XML,我觉得lxml可以做到这一点;这是一个最简单的工作示例:我们必须能够运行codeYes,请提供一个。我使用正在处理的URL链接和XPath查询编辑了问题。问题是结果列表由_elementUnicodesult字符串组成;我正在尝试将这些字符串转换为普通字符串。
newlist=[str(s)for s in a]
应该可以这样做。