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