【问题标题】:Take single element from html. AngleSharp + htmlParsing xamarin从 html 中获取单个元素。 AngleSharp + htmlParsing xamarin
【发布时间】:2019-03-19 20:38:46
【问题描述】:

你好对不起我的英语不好!

我想通过输入 id 页面获取书名、作者姓名、书描述和 ISBN 码 - sample page

我可以取书名,因为它是单一元素:

class OzonParser : IParser<string[]>
{

    public string[] Parse(IHtmlDocument document)
    {
        var list = new List<string>();
        var title = document.QuerySelectorAll("h1").Where(item => item.ClassName != null && item.ClassName.Contains("bItemName")).First();
        list.Add(title.TextContent);
        return list.ToArray();
    }

但我的作者名有问题

var items = document.QuerySelectorAll("a").Where(item => item.ClassName != null && item.ClassName.Contains("eItemProperties_href"));

element xpath="//*[@id="PageCenter"]/div[2]/div[1]/div[1]/div[2]/div[2]/div[4]/div/div[1]/div[2]/div[2]/a" 
selector="#PageCenter > div:nth-child(2) > div.bDetailPage > div.bDetailHeadBlock > div.bBaseInfoColumn > div.bContentColumn > div.bItemCompositionLink > div > div.eItemProperties_list.mHideReadMore > div:nth-child(2) > div.eItemProperties_text > a"
  1. 请帮助我获取书籍作者并通过字符串类型获取它。
  2. 可以通过一种方法获取标题、描述、作者姓名吗?

get-set 比如 book.title = value, book.description = value, author-name = value

感谢您抽出宝贵时间阅读。

【问题讨论】:

  • 你试过类选择器吗? document.QuerySelectorAll(".eItemProperties_href");
  • 感谢您的回答。得到错误System.InvalidOperationException: Sequence contains no elements :(

标签: xamarin anglesharp


【解决方案1】:

最后我取了作者的名字

QuerySelectorAll("div[itemprop*='author']")

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 2023-01-12
    • 2020-03-11
    • 1970-01-01
    相关资源
    最近更新 更多