虽然我喜欢这个节目,但我对Caliber的每周更新习惯感到非常厌倦。为了解决这个问题,我正在尝试使用一个自动化过程的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">
我需要从该行检索“caliber-ebook.0.8.34”。关于如何使这项工作的任何建议?
import urllib2
print("Calibre is Updating")
url = urllib2.urlopen ( "http://sourceforge.net/projects/calibre/files" ).read()
print(url)
答案 0 :(得分: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搜索与您的请求匹配的字符串并将其保存到结果中。
由于我的正则表达式节省了额外的点,我最终剥离了最后一个字符。有了一些耐心,你可以把它归结为你需要的东西。