2016-04-11 17 views
2

我正在製作一個網頁瀏覽工具,它可以獲取遊戲服務器上玩家的數量。整數值未知的佔位符

目前這樣做的最有效的方法是使用請求和BS4,寫HTML源到一個txt文件,然後搜索該文件

"/" 

不幸的是我的HTML中包含兩個正大幅削減用空格兩側,所以我需要能夠像做

「%d /%d」

所以只得到一個與整數,不幸的是我不知道的值兩側,我只需要它只挑一個整數在裏面。

prange = list(range(0, 65)) 
searchfile = open("data.txt", "r") 
for line in searchfile: 
    if "/" in line: 

     print (line) 
searchfile.close() 

在此先感謝!

回答

1

你想要的是using regex來搜索文檔中的特定模式。

re.search(r'(\d)/(\d)', your_text)將返回所有出現的X/Y,其中XY是1位數字。如果你想要一個以上的數字,你可以take a look at the regex syntax,並寫下類似r'(\d+)/(\d+)'

你的榜樣,你應該有:

prange = list(range(0, 65)) 
searchfile = open("data.txt", "r") 
for line in searchfile: 
    m = re.search(r'(\d+/\d+)', line) 
    if m: 
     print (line) 
searchfile.close() 
+0

呀數字是兩位數的,謝謝你的幫助。不幸的是,我是Python的新手,並將繼續研究如何實現您的方法 – Will

1

您可以嘗試使用re找到需要的圖案:

>>> import re 
>>> re.search('(\d+)\s+/\s+(\d+)', 'dsdsd 111/222 dsdsds').groups() 
('111', '222')