Как извлечь HTML ссылки из HTML-файла в C #? - PullRequest
3 голосов
/ 25 февраля 2010

Может кто-нибудь помочь мне, объяснив, как извлечь URL / ссылки из файла HTML в C #

Ответы [ 3 ]

9 голосов
/ 25 февраля 2010

посмотрите на Html Agility Pack

HtmlDocument doc = new HtmlDocument(); 
doc.Load("file.htm");  
foreach(HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]")) 
{
    HtmlAttribute att = link.Attributes["href"];
    yourList.Add(att.Value)  
}  
doc.Save("file.htm");
1 голос
/ 03 января 2013

Использовать пакет HTMLAgility ...

    private List<string> ParseLinks(string html)
    {
        var doc = new HtmlDocument(); 
        doc.LoadHtml(html);
        var nodes = doc.DocumentNode.SelectNodes("//a[@href]");
        return nodes == null ? new List<string>() : nodes.ToList().ConvertAll(r => r.Attributes.ToList().ConvertAll(i => i.Value)).SelectMany(j => j).ToList();
    }

Это работает для меня.

0 голосов
/ 10 мая 2010

Вы можете использовать HTQL COM-объект и запросить страницу с помощью запроса: : HREF

HTQLCOMLib.HtqlControl h = new HTQLCOMLib.HtqlControl();
string page = "<html><body><a href='test1.html'>test1</a><a href='test2.html'>test2</a> </body></html>";
h.setSourceData(page, page.Length);
h.setQuery("<a>: href ");
for (h.moveFirst(); 0 == h.isEOF(); h.moveNext() )
{
     MessageBox.Show(h.getValueByIndex(1));
}

Он покажет сообщения:

test1.html

test2.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...