[英]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.