有一个ParseItem函数用于解析产品,例如:Product 1,Product 2。
在这里,作为一个例子,产品 2将被解析。
private async static Task ParseItem(string itemUrl)
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("User-Agent", "C# App");
HttpResponseMessage responce = await client.GetAsync(itemUrl);
string source = default;
if (responce != null && responce.StatusCode == HttpStatusCode.OK)
{
source = await responce.Content.ReadAsStringAsync();
}
HtmlParser domParser = new HtmlParser();
IHtmlDocument document = await domParser.ParseDocumentAsync(source);
string name = document.QuerySelector("[data-qaid|=product_name]")?.InnerHtml;
string price = document.QuerySelector("[data-qaid|=product_price]")?.Text();
string code = document.QuerySelector("[data-qaid|=product-sku]")?.Text();
string characteristics = document.QuerySelector("[data-qaid|=attributes]")?.Text();//Характеристики
string company_name = document.QuerySelector("[data-qaid|=company_name]")?.InnerHtml;
//Не могу получить данные переменные всегда будут == null
string info_by_company = document.QuerySelector("[data-qaid|=info_by_company]")?.InnerHtml;
var company_location = document.QuerySelector("[data-qaid|=company_location]");
var phone = document.QuerySelector("[data-qaid|=phone]");
var site = document.QuerySelector("[data-qaid|=site]");
var schedule_block = document.QuerySelector("[data-qaid|=schedule_block]");
}
static async Task Main()
{
await ParseItem("https://prom.ua/p1203034278-nabor-dlya-uhoda.html");
Console.ReadKey();
}
问题:我尝试解析每个产品,问题总是一样,我无法从图1 的块中获取数据

json.linq
反序列化一个对象
产品
转换器
公司
扩大
方法 GetJsonAsync
方法 ParseItem
主要的
实现代码