2012-01-11 4 views
0

나는이 프로그램을 좋아하지만 Calibre의 주간 업데이트 습관에 지쳐있었습니다. 문제를 해결하기 위해 프로세스를 자동화하는 python 스크립트로 작업하려고합니다.파이썬을 사용하여 웹 페이지에서 특정 텍스트 선택

문서를 성공적으로 열었지만 특정 문자열을 캡처하는 방법을 알아 내는데 어려움이 있습니다. Calibre의 다운로드 링크는 검색해야하는 버전 번호에 따라 달라집니다. 현재 (218)는 다음과 같은 포함 라인 :

 <a href="/projects/calibre/files/latest/download?source=files" title="/0.8.34/calibre-portable-0.8.34.zip: released on 2012-01-06 07:22:08 UTC"> 

내가 줄에서 "구경-ebook.0.8.34"를 검색해야합니다. 그 일을하는 방법에 대한 제안?

import urllib2 
print("Calibre is Updating") 
url = urllib2.urlopen ("http://sourceforge.net/projects/calibre/files").read() 
print(url) 

답변

1

코드의 개정 :

import urllib2 
import re 

print("Calibre is Updating") 
url = urllib2.urlopen ("http://sourceforge.net/projects/calibre/files").read() 

result = re.search('title="/[0-9.]*/([a-zA-Z\-]*-[0-9\.]*)', url).groups()[0][:-1] 
print(result) 

내가 여기서 뭘하고있어 당신의 요구를 일치하는 문자열을 검색 할 re module를 사용하고 결과를 저장한다.

내 정규식 이후에 여분의 점을 저장하므로 마지막 문자를 제거해야합니다. 약간의 인내심으로 당신은 당신이 필요로하는 것만으로 그것을 진정시킬 수 있습니다.

관련 문제