2012-01-11 20 views
0

私はこのプログラムが大好きですが、私はCalibreの毎週更新する習慣に非常に疲れました。その問題を解決するために、私はプロセスを自動化するpythonスクリプトで作業しようとしています。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を使用して、それがもたらすために保存されます。

私の正規表現は余分なドットを保存するので、私は最後の文字をストリッピングすることになります。いくつかの忍耐をもって、あなたは本当に必要なものだけを釘付けにすることができます。

関連する問題