繁体   English   中英

使用lxml和xpath抓取网站后出现数据类型问题

[英]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方法访问它们)。

您可以通过将对象简单地传递给strint将其转换为字符串或整数。

for span in item.xpath('.//span[contains(@id, "lblSignal")]'):
    callType = int(span.text_content())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM