Нужен пример HtmlAgilityPack - PullRequest
       15

Нужен пример HtmlAgilityPack

0 голосов
/ 29 сентября 2019

Я пытаюсь снова отказаться для примера.

На самом деле у меня есть следующий код:

Imports System
Imports System.Xml
Imports HtmlAgilityPack
Imports System.Net
Imports System.IO
Imports System.Collections.Generic


Public Class Program
    Public Shared Sub Main()
        'Enable SSL Suppport'
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
        'WebPage to Scrapping'
        Dim link As String = "https://www.nextinpact.com"
        'download page from the link into an HtmlDocument'
        Dim doc As HtmlDocument = New HtmlWeb().Load(link)
        'select the title'

        Dim div As HtmlNode = doc.DocumentNode.SelectSingleNode("//section[@class='small_article_section']")

        If Not div Is Nothing Then
            For Each node As HtmlNode In doc.DocumentNode.SelectNodes("//h2[@class='color_title']//a[@class='ui-link'][contains(text())]")
                Console.Write(div.InnerText.Trim())
            Next
        End If
    End Sub
End Class

На самом деле я пытаюсь поймать весь заголовок из

"// section [@ class = 'small_article_section']"

Но как мне получить весь заголовок?Для первого заголовка xpath:

"// h2 [@ class = 'color_title'] // a [@ class = 'ui-link'] [содержит (text (), 'Lesобязательств де Netflix passeront d ')] "

Спасибо.

Редактировать: я пытаюсь другой пример,

с

Dim doc As HtmlDocument = New HtmlWeb().Load("https://www.sideshow.com/collectibles?manufacturer=sideshow+collectibles&type=premium+format%28tm%29+figure&brand=aspen")
Dim div As HtmlNode = doc.DocumentNode.SelectSingleNode("//div[@class='c-ProductList row']")

Теперь я пытаюсь получить для каждого продукта название с:

For Each node As HtmlNode In div.SelectNodes("//h2[contains(text(),'Grace')]") 'That is for Only Grace 
        Console.Write(node.InnerText.Trim())
    Next

Но с

//h2[contains(text(),'Grace')]

У меня ничего нет, и я хочу Гейс и Аспен и попробуйте с

.//h2[contains(text()]

и ничего слишком

1 Ответ

0 голосов
/ 29 сентября 2019

Вот как ты это делаешь.

    Dim doc As HtmlDocument = New HtmlWeb().Load("https://www.nextinpact.com/")
    Dim div As HtmlNode = doc.DocumentNode.SelectSingleNode("//section[@class='small_article_section']")

    'If div IsNot Nothing Then 'I think this part is pointless as it will always exist
    For Each node As HtmlNode In div.SelectNodes(".//h2[@class='color_title']/a") 'a class='ui-link' doesn't exist so do h2/a
        Console.Write(node.InnerText.Trim())
    Next
...