簡體   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