gpt4 book ai didi

Python从html中抓取所有链接并只显示链接

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:35 25 4
gpt4 key购买 nike

我正在尝试使用以下语句从网页中获取标题:

titl1 = re.findall(r'<title>(.*?)</title>',the_webpage)

使用它,我得到了 ['random webpage example1']。如何删除引号和括号?


我还尝试获取一组每小时更改的链接(这就是我需要通配符的原因):links = re.findall(r'(file=(.*?).mp3 )',the_webpage).

我明白了

[('file=http://media.kickstatic.com/kickapps/images/3380/audios/944521.mp3', 
'http://media.kickstatic.com/kickapps/images/3380/audios/944521'),
('file=http://media.kickstatic.com/kickapps/images/3380/audios/944521.mp3',
'http://media.kickstatic.com/kickapps/images/3380/audios/944521'),
('file=http://media.kickstatic.com/kickapps/images/3380/audios/944521.mp3',
'http://media.kickstatic.com/kickapps/images/3380/audios/944521')]

如何在没有 file= 的情况下获取 mp3 链接?


我还想下载 mp3 文件并在它们后面加上网站的标题以便显示

随机网页example1.mp3

我该怎么做?我仍在学习 Python 和正则表达式,这有点难倒我。

最佳答案

至少对于第 1 部分,你可以做到

>>> mytitle = title1[0]
>>> print mytitle
random webpage example1

正则表达式返回匹配的字符串列表,因此您只需获取列表中的第一项。

同样,对于第二部分,正则表达式返回一个包含元组的列表。你可以这样做:

>>> download_links = [href for (discard, href) in links]
>>> print download_links
['http://media.kickstatic.com/kickapps/images/3380/audios/944521', 'http://media.kickstatic.com/kickapps/images/3380/audios/944521', 'http://media.kickstatic.com/kickapps/images/3380/audios/944521']

至于下载文件,使用urlib2(至少对于python 2.x,不确定python 3.x)。参见 this question了解详情。

关于Python从html中抓取所有链接并只显示链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com