Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 清除.HTM文件时出现问题_C#_Screen Scraping_Html Agility Pack_Web Scraping - Fatal编程技术网

C# 清除.HTM文件时出现问题

C# 清除.HTM文件时出现问题,c#,screen-scraping,html-agility-pack,web-scraping,C#,Screen Scraping,Html Agility Pack,Web Scraping,我刚刚开始从网页上删除基本文本,目前正在使用HTMLAgilityPack C#库。我在竞争对手雅虎的boxscores网站上取得了一些成功(体育是我的事情,为什么不做一些有趣的事情呢?),但我被NHL的游戏摘要页面卡住了。我认为这是一个有趣的问题,所以我会把它贴在这里 我正在测试的页面是: 乍一看,它似乎是基本的文本,没有ajax或其他东西来搞乱一个基本的刮刀。然后我意识到由于一些javascript,我不能右键单击,所以我解决了这个问题。我在firefox中右键单击并使用XPather获取

我刚刚开始从网页上删除基本文本,目前正在使用HTMLAgilityPack C#库。我在竞争对手雅虎的boxscores网站上取得了一些成功(体育是我的事情,为什么不做一些有趣的事情呢?),但我被NHL的游戏摘要页面卡住了。我认为这是一个有趣的问题,所以我会把它贴在这里

我正在测试的页面是:

乍一看,它似乎是基本的文本,没有ajax或其他东西来搞乱一个基本的刮刀。然后我意识到由于一些javascript,我不能右键单击,所以我解决了这个问题。我在firefox中右键单击并使用XPather获取主队的xpath,我得到:

/html/body/table[@id='MainTable']/tbody/tr[1]/td/table[@id='StdHeader']/tbody/tr/td/table/tbody/tr/td[3]/table[@id='Home']/tbody/tr[3]/td
当我试图获取该节点/内部文本时,htmlagilitypack将找不到它。是否有人在页面的源代码中看到任何可能阻止我的奇怪内容

我是新来的,仍然在学习人们如何阻止我刮,任何提示或技巧都非常感谢


p、 我遵守所有关于机器人等的网站规则,但我注意到了这种奇怪的行为,并将其视为一种挑战。

好的,看来我的XPath中有tbody。当我从xpath中手动删除这些TBody时,HTMLAgilityPack可以很好地处理它


我仍然想知道为什么会得到无效的xpath,但现在我已经回答了我的问题。

我认为除非我的xpath知识有很多缺陷(可能),否则问题在于xpath表达式中的/tbody节点

当我这样做的时候

 string test = string.Empty;
StreamReader sr = new StreamReader(@"C:\gs.htm");
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(sr);
sr.Close();
sr = null;
string xpath = @"//table[@id='Home']/tr[3]/td";
test = doc.DocumentNode.SelectSingleNode(xpath).InnerText;
那很好。。返回一个
“哥伦布蓝杰克5号主场比赛3”
我希望这是你想要的绳子


检查html时,我找不到/tbody。

nice,感谢关于XPather的提示,我将不得不使用它。其他人是否可以转到该页面,尝试为主队(右上角的columbus)获取xpath并粘贴到这里,以便我进行比较?可能与浏览器或XPather应用程序相关,我将检查它听起来很有趣。