当前位置: 首页 > 面试题库 >

使用Python获取HTML文件上所有标签中的href属性值

商华藏
2023-03-14
问题内容

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

目前,我有使用正则表达式的代码(我不太擅长)以搜索每一行中的链接:

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

这是行不通的,因为它只为文件中的每一行打印“ None”,但是我确定打开的文件上至少有3个链接。

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

提前致谢


问题答案:

好吧,为了完整起见,我将在这里添加我发现的最佳答案,并在Mark Pilgrim的Dive Into Python一书中找到它。

以下是用于列出网页中所有URL的代码:

from sgmllib import SGMLParser

class URLLister(SGMLParser):
    def reset(self):                              
        SGMLParser.reset(self)
        self.urls = []

    def start_a(self, attrs):                     
        href = [v for k, v in attrs if k=='href']  
        if href:
            self.urls.extend(href)

import urllib, urllister
usock = urllib.urlopen("http://diveintopython.net/")
parser = urllister.URLLister()
parser.feed(usock.read())         
usock.close()      
parser.close()                    
for url in parser.urls: print url

感谢所有的答复。



 类似资料:
  • 问题内容: 如何在此页面上获取此“ h2”标题的所有“ href”属性? 我尝试过的没有得到href的是: 这没有获得“ a”标签的链接。如果我在“ a”标签上找到了所有元素,它将返回页面上的每个href(这不是我想要的)。我只想返回上述标题,但能够获取其url“ href”属性。 问题答案: 这是从所有页面获取所有书籍的代码:

  • 本文向大家介绍获取input标签的所有属性的方法,包括了获取input标签的所有属性的方法的使用技巧和注意事项,需要的朋友参考一下 1.用jquery $("input[name='btnAdd']").attr("value")   获取value属性值,其它属性换attr的参数就OK 2.通过点来获取: 以上就是小编为大家带来的获取input标签的所有属性的方法全部内容了,希望大家多多支持呐喊

  • 问题内容: 我正在用Python练习Selenium,我想使用Selenium获取网页上的所有链接。 例如,我想要http://psychoticelites.com/上所有标签的属性中的所有链接。 我写了一个脚本,它正在工作。但是,它给了我对象地址。我尝试使用标签来获取值,但是,它不起作用。 我当前的脚本: 问题答案: 好吧,您只需要遍历列表即可: 返回元素列表(注意“ elements”的拼写

  • 问题内容: 我正在用Python练习Selenium,我想使用Selenium获取网页上的所有链接。 例如,我想要http://psychoticelites.com/上所有标签的属性中的所有链接。 我写了一个脚本,它正在工作。但是,它给了我对象地址。我尝试使用标签来获取值,但是,它不起作用。 我当前的脚本: 问题答案: 好吧,您只需要遍历列表即可: 返回元素列表(注意“ elements”的拼写

  • 问题内容: 我一直在使用TwitterBootstrap构建网站,其许多功能都依赖于将内容包装在中,即使它们只是执行Javascript也是如此。我在Bootstrap文档所建议的策略上遇到了问题,因此我试图寻找其他解决方案。 但是后来我尝试完全删除该属性。我一直在使用,并让Javascript处理其余部分。而且有效。 但是有件事告诉我我不应该这样做。对?我的意思是,从技术上讲,它应该是某事的链接

  • 本文向大家介绍html标签中的lang属性有什么作用?相关面试题,主要包含被问及html标签中的lang属性有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 根据lang属性来设定不同语言的css样式,或者字体 告诉搜索引擎做精确的识别 让语法检查程序做语言识别 帮助翻译工具做识别 帮助网页阅读程序做识别等等