我正在抓取一个网站获取数据并最终取出数字。问题是当我尝试在Python上执行逻辑函数时,它返回的数据为
class 'lxml.etree._ElementStringResult'
我的问题是我可以将这些数据以某种方式转换为字符串或int,以便我可以编写逻辑语句吗?
以下是代码:
callType = item.xpath('.//span[contains(@id, "lblSignal")]')[0].text_content()
print callType
这是输出:
76
当我尝试对数据进行控制语句时,没有任何反应。我认为这是因为我在不正确的类型上尝试逻辑。
callType = item.xpath('.//span[contains(@id, "lblSignal")]')[0].text_content()
print type(callType)
print callType
这是我的输出:
<class 'lxml.etree._ElementStringResult'>
76
因此,不是尝试使用“int”来完成控制语句,而是使用不同的类型。我已经尝试对变量进行类型转换,但它仍保持相同的数据类型。希望这会有所帮助...
答案 0 :(得分:5)
xpath()
可能会返回_ElementStringResult
的列表,而不是普通的Python字符串。您有时希望拥有_ElementStringResult
的原因是,与str
不同,他们会记住他们的父母(他们可以通过getparent
方法访问)。
只需将对象传递给str
或int
即可将其转换为字符串或整数。
for span in item.xpath('.//span[contains(@id, "lblSignal")]'):
callType = int(span.text_content())