2012-01-11 58 views
0

虽然我喜欢这个程序,但我对Caliber的每周更新习惯感到非常厌倦。为了抵消这个问题,我正在尝试使用一个可以自动执行这个过程的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来搜索您的要求相匹配的字符串,并将其保存到结果。

由于我的正则表达式保存了一个额外的点,我最终删除了最后一个字符。有了一定的耐心,你可以真正把它钉在你需要的东西上。

相关问题