哪位大神能帮忙写一个正则表达式啊?

2018-09-01 15:24:21 +08:00
 css3

如下 ,返回一个 html 页面(类型不是 html 是 str,不能 bs4 解析),想提取里边的 url=https://www.baidu.com/s/1dD8Hkn3 那一串链接,不知道怎么写正则,各种尝试,均不行,取不出来 ,求 v 友帮忙写一个,万谢

<!DOCTYPE html>
                    <html>
                        <head>    
                        <meta charset="utf-8">    
                        <title>正在跳转...</title>    
                        <meta name="referrer" content="no-referrer" />
                        <meta HTTP-EQUIV="refresh" content="0; url=https://www.baidu.com/s/1dD8Hkn3">
                        </head>
                        <body>
                      </body>
                    </html>

3692 次点击
所在节点    Python
30 条回复
PulpFunction
2018-09-02 14:19:58 +08:00
@css3 url 前的字符数不变,url 后面的标签也不会变
这里的切片和你的 url 长度没关系
哈哈 我是逗你玩的
css3
2018-09-02 22:27:27 +08:00
@PulpFunction 可以举例说明吗?😀
richieboy
2018-09-03 08:53:53 +08:00
"(?<=content=\"0; url=)[^\"]*(?=\">)"
PulpFunction
2018-09-03 09:15:52 +08:00
@css3 你自己数吧胸跌
wersonliu9527
2018-09-03 09:26:35 +08:00
其实用 xpath 我觉得是最简单的,配合谷歌浏览器的插件 xpath helper
xpresslink
2018-09-03 10:05:18 +08:00
楼主基本概念都不清楚么?
只取一个 URL 确实只要用正则就可以了,用 bs4, lxml 之类方案有些重了。
但是返回一个 html 页面(类型不是 html 是 str,不能 bs4 解析)这是什么屁话。
css3
2018-09-03 10:49:37 +08:00
@xpresslink 不要方,我调用一个接口,人家返回的就是一个 html 页面,类型是 str,有什么好惊讶的呢
icris
2018-09-03 11:31:15 +08:00
我来复制一个示例吧

soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b
type(tag)
# <class 'bs4.element.Tag'>

第一行单引号里面是不是字符串?能不能用 bs4 解析?
xpresslink
2018-09-03 14:02:15 +08:00
@css3 我只能呵呵了
thautwarm
2018-09-03 17:51:17 +08:00
话说我笔记记得有:

re_exp = re.compile(r'( https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9]\.[^\s]{2,})')

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/485192

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX