吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1587|回复: 9
收起左侧

[求助] 求助正则表达式

[复制链接]
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个

[Python] 纯文本查看 复制代码
#!/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 = [unquote(x).replace('&', '&') for x in p.findall(s)]
print('\n'.join(url_list))
print(len(url_list))


[Bash shell] 纯文本查看 复制代码
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 【&】被过滤了,请自行替换。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
Eilliem + 1 + 1 热心回复!
dengdengda + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| 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个

[mw_shl_code=python,true]#!/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个

[mw_shl_code=python,true]#!/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行插入
[Python] 纯文本查看 复制代码
url_list = list(set(url_list))


整个
[Python] 纯文本查看 复制代码
#!/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 = [unquote(x).replace('&', '&') for x in p.findall(s)]
url_list = list(set(url_list))
print('\n'.join(url_list))
print(len(url_list))


仔细一看,怎么链接都是重复的,显示8个下载地址,结果只有2个不同的链接
 楼主| dengdengda 发表于 2021-8-5 10:51

厉害厉害,完美
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 01:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表