C# Web Scraper Получить данные из таблицы
Я пытаюсь получить значения данных из таблицы, т.е. Номер сертификата, год и т. Д. Вот код C #, который я использую:
using HtmlAgilityPack;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Xml;
namespace PSA
{
class Program
{
static void Main(string[] args)
{
GetHtmlAsync();
Console.ReadLine();
}
private static async void GetHtmlAsync()
{
var url = "https://www.psacard.com/cert/28179758";
var httpClient = new HttpClient();
var html = await httpClient.GetStringAsync(url);
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(html);
Console.WriteLine(htmlDocument.DocumentNode.Descendants("table")
.Where(node => node.GetAttributeValue("", "")
.Equals("")).FirstOrDefault().InnerText);
Console.WriteLine();
}
}
}
Вот какой код возвращает в консоли:
Certification Number28179758
Reverse Cert Number/BarcodeYes
Year1992
BrandSTADIUM CLUB BEAM TEAM
SportBASKETBALL CARDS
Card Number21
PlayerSHAQUILLE O'NEAL
Variety/PedigreeBEAM TEAM-MEMBERS ONLY
GradeGEM MT 10
SMR Price Guide Value
$11,00
Я хочу иметь возможность возвращать только значения, указанные ниже, чтобы их можно было добавить в файл Excel позже: 28179758, Да, 1992, STADIUM CLUB BEAM TEAM, БАСКЕТБОЛЬНЫЕ КАРТЫ, 21, SHAQUILLE O'NEAL, ТОЛЬКО ДЛЯ ЧЛЕНОВ BEAM TEAM, GEM MT 10, 11 000 долл. США
Это html-код по ссылке:
<table class="table table-fixed table-header-right text-medium">
<tr><th class="no-border">Certification Number</th><td class="no-border">28179758</td></tr>
<tr>
<th>Label Type</th>
<td>
<img data-src="https://i.psacard.com/psacard/images/cert/table-image-ink.png" width="69" height="38" class="lazy margin-right-min" alt="" aria-hidden="true" />
<span class="inline-block padding-top-min">with fugitive ink technology</span>
</td>
</tr>
<tr><th>Reverse Cert Number/Barcode</th><td>Yes</td></tr>
<tr><th>Year</th><td>1992</td></tr>
<tr><th>Brand</th><td>STADIUM CLUB BEAM TEAM</td></tr>
<tr><th>Sport</th><td>BASKETBALL CARDS</td></tr>
<tr><th>Card Number</th><td>21</td></tr>
<tr><th>Player</th><td>SHAQUILLE O'NEAL</td></tr>
<tr><th>Variety/Pedigree</th><td>BEAM TEAM-MEMBERS ONLY</td></tr>
<tr><th>Grade</th><td>GEM MT 10</td></tr>
<tr>
<th>SMR Price Guide Value</th>
<td>
<a href="https://www.psacard.com/smrpriceguide/basketball-card-values/1992-stadium-club-beam-team/1737">$11,000</a>
</td>
</tr>
</table>