使用 Html Agility Pack 找不到元素
我尝试 htmlagilitypack 获取文档链接 http://vsd.vn/p4c22/tin-thanh -vien.htm 以下代码:
HtmlWeb htmlweb= new HtmlWeb();
HtmlDocument doc=htmlweb.load("http://vsd.vn/p4c22/tin-thanh-vien.htm");
然后
我得到所有节点
NewsListNode = doc.DocumentNode.SelectNodes("//*[@id='VSD_DanhSachTinTuc']/ul[1]//a");
,但
NewsListNode= null
因为节点 Div 没有子节点,但 firebug 对浏览器调试的响应有结果,
请帮助我
,谢谢大家
I try to htmlagilitypack to get document link http://vsd.vn/p4c22/tin-thanh-vien.htm following code:
HtmlWeb htmlweb= new HtmlWeb();
HtmlDocument doc=htmlweb.load("http://vsd.vn/p4c22/tin-thanh-vien.htm");
and then
I get all Nodes
NewsListNode = doc.DocumentNode.SelectNodes("//*[@id='VSD_DanhSachTinTuc']/ul[1]//a");
but
NewsListNode= null
because node Div have not childnode but response to browser debug by firebug have result,
help me
thanks all
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个空元素:
因此您看到查询的空结果是完全有道理的。我猜页面正在使用 ajax 或其他 DOM 操作加载它。另外,请记住,网站通常是供浏览器使用的,而不是抓取的。某个地方可能有更合适的数据源,也许是 RSS 提要。
That is an empty element:
so it makes perfect sense that you're seeing an empty result for a query. I guess the page is loading that with ajax or other DOM manipulation. Also, keep in mind that web-sites are usually intended for browsers, not scraping. There may be a more appropriate source of this data somewhere, perhaps an RSS feed.
正如 Marc 指出的那样,您的 div 标签是空的。实际上新闻是通过 Ajax 请求中的 Javascript 检索的:
答案是带有新闻数组的 JSON 对象
As Marc pointed out your div tag is empty. Actually news are retrieved by Javascript in Ajax request:
And answer is JSON object with array of news