因此,我正在尝试使用C#开发Web刮板控制台应用程序。我无法从该网站检索帖子链接。 Hacker News
我可以检索链接以外的所有内容。当我尝试获取链接时,它返回的是投票按钮链接而不是帖子链接,所以我认为我选择了正确的标签。
我的代码:
var postsHTML = htmlDocument.DocumentNode.Descendants("table")
.Where(node => node.GetAttributeValue("class", "")
.Equals("itemlist")).ToList();
var postList = postsHTML[0].Descendants("tr")
.Where(node => node.GetAttributeValue("class", "")
.Equals("athing")).ToList();
然后在我的foreach循环中访问数组中的元素并检索我输入的链接:
foreach (var post in postList)
{
Console.WriteLine("Title: " + post.Descendants("a")
.Where(node => node.GetAttributeValue("class", "")
.Equals("storylink")).FirstOrDefault().InnerText);
Console.WriteLine("URI: " + post.Descendants("a").FirstOrDefault()
.GetAttributeValue("href", ""));
Console.WriteLine();
}
返回正确的标题,但我的URI似乎以]的形式出现>
标题:
朱尔斯·凡尔纳的最著名的书籍是54卷大作的一部分URI:
投票?id = 22292003&how = up&goto = news我希望返回的链接是帖子链接:
URI:
http://www.openculture.com/2020/02/jules-vernes-voyages-extraordinaires.html因此,我正在尝试使用C#开发Web刮板控制台应用程序。我无法从该网站检索帖子链接。黑客新闻我可以检索链接以外的所有内容。当我尝试获取...
您第二次选择了错误的标签。您应该重复使用相同的选择器,因为Title和Url在同一标签中。