dengdengda 发表于 2021-8-4 22:16

求助正则表达式

我想提取HTML页面里面的下载地址(迅雷以及主力两类八个链接)
https://vip5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA

大概长这样
在线测试好好的,但是写到Python里面就不行了

源码一贴地址就不见了,附件还传不上来,只能放度盘了

希望各位大神不要嫌麻烦,有空的话帮我看看,感激不尽

链接:https://pan.baidu.com/s/1eFCXqPSI686iQ_X4qlLKag 提取码:f7fl

leoking0001 发表于 2021-8-4 23:47

链接地址打不开,你这种发求助的,不贴币不一定有人理的,建议而已

ShiratoriAira 发表于 2021-8-4 23:47

本帖最后由 ShiratoriAira 于 2021-8-4 23:52 编辑

没有8个链接,只有6个

#!/usr/bin/env python3
import re

from pathlib import Path
from urllib.parse import unquote

s = (Path.cwd() / '待匹配.txt').read_text(encoding='utf-8')
p = re.compile(r'https?://.+?\.45yun\.net/[^"]+')
url_list =
print('\n'.join(url_list))
print(len(url_list))

https://vip5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA
https://us5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA
https://vip5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA
https://vip5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA
https://us5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA
https://vip5.45yun.net/file/2021/07/27/a31c15aa32bed807f9cc564b36607023.7z/ijfns4517.7z?t=282663&e=1628090682&st=sfDD1l9TLenF6bQHvna-aA
6

P.S.代码里的replace 【&】被过滤了,请自行替换。

dengdengda 发表于 2021-8-5 08:27

leoking0001 发表于 2021-8-4 23:47
链接地址打不开,你这种发求助的,不贴币不一定有人理的,建议而已

谢谢支招,我也是刚来的,不是很熟悉规则,下次注意

dengdengda 发表于 2021-8-5 09:06

ShiratoriAira 发表于 2021-8-4 23:47
没有8个链接,只有6个

#!/usr/bin/env python3


谢谢兄弟帮忙

luxingyu329 发表于 2021-8-5 09:35

写的不错,我还没有研究这么深刻,看来还得待一段时间才能看明白

meteor246 发表于 2021-8-5 09:57

网址打不开

dengdengda 发表于 2021-8-5 10:31

ShiratoriAira 发表于 2021-8-4 23:47
没有8个链接,只有6个

#!/usr/bin/env python3


大神,我用list(set())想给结果去重,结果失败了,应该怎么操作呢

ShiratoriAira 发表于 2021-8-5 10:46

本帖最后由 ShiratoriAira 于 2021-8-5 10:49 编辑

dengdengda 发表于 2021-8-5 10:31
大神,我用list(set())想给结果去重,结果失败了,应该怎么操作呢
第10行插入
url_list = list(set(url_list))

整个
#!/usr/bin/env python3
import re

from pathlib import Path
from urllib.parse import unquote

s = (Path.cwd() / '待匹配.txt').read_text(encoding='utf-8')
p = re.compile(r'https?://.+?\.45yun\.net/[^"]+')
url_list =
url_list = list(set(url_list))
print('\n'.join(url_list))
print(len(url_list))

仔细一看,怎么链接都是重复的,显示8个下载地址,结果只有2个不同的链接

dengdengda 发表于 2021-8-5 10:51

ShiratoriAira 发表于 2021-8-5 10:46
第10行插入




厉害厉害,完美
页: [1]
查看完整版本: 求助正则表达式