Это происходит потому, что провайдер Linq должен выполнить итерации по всем остальным узлам документа, чтобы проверить, соответствует ли он вашему поиску.Этот документ должен иметь хотя бы один div
, который не имеет атрибута class
.Таким образом, ошибка возникает при попытке прочитать свойство Value
атрибута, который не существует.
Заменить это
.Where(x => x.Attributes["class"].Value == "movie_general")
.Select(x => x.Element("a").Attributes["href"].Value)
на это
.Where(x => x.Attributes["class"] != null && x.Attributes["class"].Value == "movie_general")
.Select(x => x.Element("a") != null && x.Element("a").Attributes["href"] != null ? x.Element("a").Attributes["href"].Value : string.Empty)