事实上,没有明确的假设可以以通用的方式实现您想要的。
首先,您必须记住,网站是不同的,并且随时可能发生变化,因此在大多数情况下,任何试图获得完美算法的尝试都是浪费时间。
在这种情况下,如果您只有几个网站要解析,那么您可以找出每个网站当前的内容配置模式,并使用 HTML Agility Pack 进行解析,例如:
24matins:有一个名为“post-header”的类的 div,它首先<img>
是主要文章图像,然后使用 HAP,您可以编写:
var web = new HtmlWeb();
var doc = web.Load("http://www.24matins.fr/the-walking-dead-saison-4-le-deces-de-ce-personnage-ne-sera-pas-anodin-40685");
var img = doc.DocumentNode.SelectSingleNode("//div[@class='post-header']/img");
Console.WriteLine(img.Attributes["src"].Value);
lasemaine ..:有一个独特的 div,其类名为“illustrations”,所以:
web = new HtmlWeb();
doc = web.Load("http://www.lasemainedansleboulonnais.fr/actualite/la_une/2013/04/04/article__20_ans_prison_meurtre_de_sa_mere_boulogne.shtml");
img = doc.DocumentNode.SelectSingleNode("//div[@class='illustrations']/img");
Console.WriteLine(img.Attributes["src"].Value);
另外,我建议您使用网站的 RSS Feed 来获取相关信息。通常,它们包括文章的图片,并且更有可能具有可识别的模式,您可以在www.24matins.fr/feed/rss-toutes-actualites中查看。
希望能帮助到你。