当前位置:  开发笔记 > 编程语言 > 正文

使用Python获取html文件中所有<a>标签中的href属性值

如何解决《使用Python获取html文件中所有<a>标签中的href属性值》经验,为你挑选了2个好方法。

我正在python中构建一个应用程序,我需要在一个网页中获取所有链接的URL.我已经有一个函数使用urllib从web下载html文件,并将其转换为带有readlines()的字符串列表.

目前我有这个代码使用正则表达式(我不是很擅长)来搜索每一行中的链接:

for line in lines:
    result = re.match ('/href="(.*)"/iU', line)
    print result

这不起作用,因为它只为文件中的每一行打印"无",但我确信至少在我打开的文件上有3个链接.

有人可以给我一个暗示吗?

提前致谢



1> Ignacio Vazq..:

美丽的汤几乎可以做到这一点:

from BeautifulSoup import BeautifulSoup as soup

html = soup('qweasd')
print [tag.attrMap['href'] for tag in html.findAll('a', {'href': True})]



2> 小智..:

BeautifulSoup的另一个替代品是lxml(http://lxml.de/);

import lxml.html
links = lxml.html.parse("http://stackoverflow.com/").xpath("//a/@href")
for link in links:
    print link

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有