[英]Trouble with data types after scraping a website with lxml and xpath
我正在抓取一个网站以获取数据,最终提取出数字。 问题是当我尝试在Python中对返回的数据执行逻辑功能时
class 'lxml.etree._ElementStringResult'
我的问题是我可以以某种方式将这些数据类型转换为字符串或整数,以便随后执行逻辑语句吗?
这是代码:
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”完成控制语句,而是另一种类型。 我尝试过类型转换变量,但它仍然是相同的数据类型。 希望这可以帮助...
xpath()
可能会返回_ElementStringResult
的列表,而不是纯Python字符串。 有时您可能希望拥有_ElementStringResult
的原因是,与str
不同,他们记得自己的父母(他们可以通过getparent
方法访问它们)。
您可以通过将对象简单地传递给str
或int
将其转换为字符串或整数。
for span in item.xpath('.//span[contains(@id, "lblSignal")]'):
callType = int(span.text_content())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.