2017-05-15 63 views
1

當我查看頁面源時,我試圖使用BeautifulSoup從網站中提取以下數據,但我無法使用湯來找到它,所以我正在尋找一些指導。使用BeautifulSoup從頁面源提取數據值

當我查看源代碼時,頁面顯示以下文本。

var = 'SynchronizerToken'; 
var = 'dd3a0c31e365c458d2d3e68e3c98f772bd2103eccf381'; 

我使用的代碼現在是

SynchronizerToken = soup.find_all( 「VAR SYNCHRONIZER_TOKEN_VALUE」)

建議表示讚賞,再次感謝!

回答

1

使用正則表達式捕獲組:

var SYNCHRONIZER_TOKEN_VALUE = '(.+?)' 

,您可以使用獲得捕獲組<MatchObject>.group(1)


import re 

html = ''' 
var SYNCHRONIZER_TOKEN_NAME = 'SynchronizerToken'; 
var SYNCHRONIZER_TOKEN_VALUE = 'dd3a0c31e365c458d2d3e68e3c98f772bd2103eccf38163e10ce039c2b70a61a'; 
''' 

token = None 
matched = re.search(r"var SYNCHRONIZER_TOKEN_VALUE = '(.+?)'", html) 
if matched: 
    token = matched.group(1) 

# token => 'dd3a0c31e365c458d2d3e68e3c98f772bd2103eccf38163e10ce039c2b70a61a' 
0

您可以使用下面的正則表達式模式來查找需要的值:

SYNCHRONIZER_TOKEN_VALUE = \'(.*?)\' 

Regex101

相關問題