【问题标题】:How to write a python script to search a website html for matching links如何编写 python 脚本来搜索网站 html 中的匹配链接
【发布时间】:2010-03-04 04:02:46
【问题描述】:

我对python不太熟悉,必须编写一个脚本来执行许多功能。 基本上我仍然需要的模块是如何检查网站代码是否匹配预先提供的链接。

【问题讨论】:

    标签: python scrape


    【解决方案1】:

    匹配链接是什么?他们的 HREF 属性?链接显示文字? 也许是这样的:

    from BeautifulSoup import BeautifulSoup, SoupStrainer
    import re
    import urllib2
    
    doc = urllib2.urlopen("http://somesite.com").read()
    links = SoupStrainer('a', href=re.compile(r'^test'))
    soup = [str(elm) for elm in BeautifulSoup(doc, parseOnlyThese=links)]
    for elm in soup:
        print elm
    

    这将获取somesite.com 的HTML 内容,然后使用BeautifulSoup 对其进行解析,只查找HREF 属性以“test”开头的链接。然后它会构建这些链接的列表并将它们打印出来。

    您可以使用documentation 对其进行修改以执行任何操作。

    【讨论】:

      【解决方案2】:

      通常,您使用urlliburllib2(htmllib 等)在 Python 中进行 Web 编程。您还可以使用mechanizecurl 等。然后,对于处理 HTML 和获取链接,您可能需要使用 BeautifulSoup 之类的解析器。

      【讨论】:

        【解决方案3】:

        试试scrapy,最全面的网页提取框架。

        http://scrapy.org

        【讨论】:

          最近更新 更多