"img" просто ищет
корневые?
Нет, он ищет узлы-потомки (дети, внуки и т. Д. Текущего узла). Ваше выражение xpath выбирает все изображения из документа.
Когда я иду на эту страницу и делаю $ ('img'). Size (); Я получаю 43 обратно.
Мое предположение - некоторые изображения создаются динамически с помощью JavaScript. HtmlAgilityPack не может справиться с этим.
Кстати, для http://test.com
я получил 87 узлов изображений с AgilityPack (doc.DocumentNode.SelectNodes("//img").Count()
) и 87 узлов изображений с консоли Chome ($('img').size()
).
EDIT : HtmlWeb.Load()
метод внутренне использует класс WebRequest
для получения данных. Роль AgilityPack - для правильного анализа данных . Вполне возможно, что некоторые веб-ресурсы возвращают разное содержимое для одного и того же URI в зависимости от некоторых заголовков запросов, таких как User-Agent
и других. Например. Заголовок User-Agent
может быть установлен с помощью свойства HtmlWeb.UserAgent
.