2017-05-15 1 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

관련 문제