首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >您能提供解析HTML的示例吗?

您能提供解析HTML的示例吗?
EN

Stack Overflow用户
提问于 2009-04-21 15:55:37
回答 28查看 30.9K关注 0票数 69

如何使用各种语言和解析库来解析HTML?

回答时:

在回答有关如何使用正则表达式解析HTML的问题时,将链接到单个注释,以此来显示正确的操作方法。

为了保持一致性,我要求该示例在锚标记中解析一个href文件。为了便于搜索此问题,我要求您遵循以下格式

语言:语言名称

库:库名称

代码语言:javascript
复制
[example code]

请将该库作为指向该库的文档的链接。如果您想提供提取链接以外的示例,请同时提供:

目的:解析所做的工作

EN

回答 28

Stack Overflow用户

发布于 2009-04-21 18:35:34

语言:JavaScript

库:jQuery

代码语言:javascript
复制
$.each($('a[href]'), function(){
    console.debug(this.href);
});

(使用firebug console.debug进行输出...)

和加载任何html页面:

代码语言:javascript
复制
$.get('http://stackoverflow.com/', function(page){
     $(page).find('a[href]').each(function(){
        console.debug(this.href);
    });
});

在这个函数中使用了另一个each函数,我认为在链接方法时会更清晰。

票数 29
EN

Stack Overflow用户

发布于 2009-04-21 17:47:18

语言: C#

库:HtmlAgilityPack

代码语言:javascript
复制
class Program
{
    static void Main(string[] args)
    {
        var web = new HtmlWeb();
        var doc = web.Load("http://www.stackoverflow.com");

        var nodes = doc.DocumentNode.SelectNodes("//a[@href]");

        foreach (var node in nodes)
        {
            Console.WriteLine(node.InnerHtml);
        }
    }
}
票数 25
EN

Stack Overflow用户

发布于 2009-04-21 16:50:33

语言: Python

库:BeautifulSoup

代码语言:javascript
复制
from BeautifulSoup import BeautifulSoup

html = "<html><body>"
for link in ("foo", "bar", "baz"):
    html += '<a href="http://%s.com">%s</a>' % (link, link)
html += "</body></html>"

soup = BeautifulSoup(html)
links = soup.findAll('a', href=True) # find <a> with a defined href attribute
print links  

输出:

代码语言:javascript
复制
[<a href="http://foo.com">foo</a>,
 <a href="http://bar.com">bar</a>,
 <a href="http://baz.com">baz</a>]

也可以:

代码语言:javascript
复制
for link in links:
    print link['href']

输出:

代码语言:javascript
复制
http://foo.com
http://bar.com
http://baz.com
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/773340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档