以下是文本:
<a class="mkapp-btn mab-download" href="javascript:void(0);" onclick="zhytools.downloadApp('C100306099', 'appdetail_dl', '24', 'http://appdlc.hicloud.com/dl/appdl/application/apk/f4/f44d320c2c1b466389e6f6b3d3f5cff4/com.uniquestudio.android.iemoji.1806141014.apk?sign=portal@portal1531621480529&source=portalsite' , 'v1.1.4');">
我要提取
http://appdlc.hicloud.com/dl/appdl/application/apk/f4/f44d320c2c1b466389e6f6b3d3f5cff4/com.uniquestudio.android.iemoji.1806141014.apk?sign=portal@portal1531621480529&source=portalsite
我使用以下代码将其提取。
m = re.search("mkapp-btn mab-download.*'http://[^']'", apk_page)
我认为,我可以使用.*
来匹配mkapp-btn mab-download
和http
之间的字符串。但是我失败了。
我也尝试过。
m = re.search("(?<=mkapp-btn mab-download.*)http://[^']'", apk_page)
答案 0 :(得分:1)
您需要在排除(+
)之后添加[^']
,因为该字符不止一个。另外,您需要使用括号分组以仅提取所需的部分。
m = re.search("mkapp-btn mab-download.*'(http[^']+)'", apk_page)
m.groups()
输出将是
('http://appdlc.hicloud.com/dl/appdl/application/apk/f4/f44d320c2c1b466389e6f6b3d3f5cff4/com.uniquestudio.android.iemoji.1806141014.apk?sign=portal@portal1531621480529&source=portalsite',)