目前我正在試圖從一個網頁湊一些數據。我需要的數據在html源代碼的<meta>
標籤內。刮擦數據並使用BeautifulSoup將其保存爲字符串是沒有問題的。如何使用Python中的正則表達式從相同的字符串中提取多個值?
字符串中包含2個數字我想提取。每個數字(1-100分的評分)都應該分配給一個獨立的變量進行進一步處理。
test_str = "<meta content=\"Overall Rating: 79/100 ... Some Info ... Score: 86/100 \"/>"
第一個值是79/100
,第二個是86/100
,但我只需要79
和86
。到目前爲止,我創建了一個正則表達式搜索來找到這些值,然後.replace("/100")
來清理。
但是我的代碼,我只得到了第一個正則表達式搜索匹配,這是79
值。我嘗試使用m.group(1)
獲得第二個值,但它不起作用。
我錯過了什麼?
test_str = "<meta content=\"Overall Rating: 79/100 ... Some Info ... Score: 86/100 \"/>"
m = re.search("../100", test_str)
if m:
found = m.group(0).replace("/100","")
print found
# output -> 79
感謝您的幫助。
此致敬禮!
變得不必要
例' re.findall'返回匹配 – Ludisposed
你刮網頁的數組,然後把整個HTML源代碼,並應用正則表達式來呢?我問,因爲你的代碼示例沒有顯示與美名相關的代碼。 – Tomalak
謝謝! @Tomalak不,我只是保存在使用\t'meta_description = soup.find(「元」,{「名」:「評級數據」})的字符串的數據'。我只是沒有包含BeautifulSoup的部分來保持簡單。 –