使用 Html Agility Pack 找不到元素

发布于 2024-11-25 04:39:24 字数 549 浏览 0 评论 0原文

我尝试 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

熟人话多 2024-12-02 04:39:24

这是一个空元素:

<div id="VSD_DanhSachTinTuc" class="w651bg w651main"></div>

因此您看到查询的空结果是完全有道理的。我猜页面正在使用 ajax 或其他 DOM 操作加载它。另外,请记住,网站通常是供浏览器使用的,而不是抓取的。某个地方可能有更合适的数据源,也许是 RSS 提要。

That is an empty element:

<div id="VSD_DanhSachTinTuc" class="w651bg w651main"></div>

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.

演多会厌 2024-12-02 04:39:24

正如 Marc 指出的那样,您的 div 标签是空的。实际上新闻是通过 Ajax 请求中的 Javascript 检索的:

POST http://vsd.vn/Ajax/action.ashx HTTP/1.1
Host: vsd.vn
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://vsd.vn/p4c22/tin-thanh-vien.htm
Content-Length: 48

__aa=14&__catID=22&__pSize=20&__pIndex=1&__date=

答案是带有新闻数组的 JSON 对象

{ "TotalItem":168, "TotalPage":9, "d": [{"ArticleId": 6729,"Title": "205: Cấp Giấy chứng nhận Thành viên lưu ký","Href": "/6729p4c22/205-cap-giay-chung-nhan-thanh-vien-luu-ky.htm","Date": "15/07/2011"},{"ArticleId": 6724,"Title": "015: Đăng ký bổ sung Danh sách ban lãnh đạo phụ trách hoạt động lưu ký","Href": "/6724p4c22/015-dang-ky-bo-sung-danh-sach-ban-lanh-dao-phu-trach-hoat-dong-luu-ky.htm","Date": "15/07/2011"},{"ArticleId": 6716,"Title": "006: Cấp Giấy chứng nhận chi nhánh hoạt động lưu ký sửa đổi","Href": "/6716p4c22/006-cap-giay-chung-nhan-chi-nhanh-hoat-dong-luu-ky-sua-doi.htm","Date": "14/07/2011"},{"ArticleId": 6715,"Title": "070: Thay đổi Thành viên Hội đồng quản trị","Href": "/6715p4c22/070-thay-doi-thanh-vien-hoi-dong-quan-tri.htm","Date": "14/07/2011"},{"ArticleId": 6714,"Title": "032: Bổ sung nghiệp vụ kinh doanh chứng khoán","Href": "/6714p4c22/032-bo-sung-nghiep-vu-kinh-doanh-chung-khoan.htm","Date": "14/07/2011"},{"ArticleId": 6713,"Title": "032: Tăng vốn điều lệ","Href": "/6713p4c22/032-tang-von-dieu-le.htm","Date": "14/07/2011"},{"ArticleId": 6709,"Title": "057: Cấp Giấy chứng nhận Thành viên lưu ký sửa đổi","Href": "/6709p4c22/057-cap-giay-chung-nhan-thanh-vien-luu-ky-sua-doi.htm","Date": "13/07/2011"},{"ArticleId": 6708,"Title": "006: Uỷ quyền ký chứng từ lưu ký","Href": "/6708p4c22/006-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "13/07/2011"},{"ArticleId": 6707,"Title": "069: Uỷ quyền ký chứng từ lưu ký","Href": "/6707p4c22/069-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "13/07/2011"},{"ArticleId": 6682,"Title": "085: Uỷ quyền ký chứng từ lưu ký","Href": "/6682p4c22/085-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "12/07/2011"},{"ArticleId": 6667,"Title": "072: Cấp Giấy chứng nhận Thành viên lưu ký sửa đổi","Href": "/6667p4c22/072-cap-giay-chung-nhan-thanh-vien-luu-ky-sua-doi.htm","Date": "11/07/2011"},{"ArticleId": 6666,"Title": "065: Ủy quyền ký chứng từ lưu ký","Href": "/6666p4c22/065-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "11/07/2011"},{"ArticleId": 6594,"Title": "004: Uỷ quyền ký chứng từ lưu ký","Href": "/6594p4c22/004-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "08/07/2011"},{"ArticleId": 6590,"Title": "048: Đăng ký bổ sung Danh sách Ban lãnh đạo phụ trách hoạt động lưu ký","Href": "/6590p4c22/048-dang-ky-bo-sung-danh-sach-ban-lanh-dao-phu-trach-hoat-dong-luu-ky.htm","Date": "07/07/2011"},{"ArticleId": 6567,"Title": "083: Đăng ký bổ sung Danh sách Thành viên Ban giám đốc phụ trách hoạt động lưu ký","Href": "/6567p4c22/083-dang-ky-bo-sung-danh-sach-thanh-vien-ban-giam-doc-phu-trach-hoat-dong-luu-ky.htm","Date": "05/07/2011"},{"ArticleId": 6566,"Title": "083: Thay đổi cơ cấu nhân sự","Href": "/6566p4c22/083-thay-doi-co-cau-nhan-su.htm","Date": "05/07/2011"},{"ArticleId": 6565,"Title": "019: Thay đổi cơ cấu nhận sự","Href": "/6565p4c22/019-thay-doi-co-cau-nhan-su.htm","Date": "05/07/2011"},{"ArticleId": 6564,"Title": "019: Đăng ký bổ sung Danh sách Thành viên Ban giám đốc phụ trách hoạt động lưu ký","Href": "/6564p4c22/019-dang-ky-bo-sung-danh-sach-thanh-vien-ban-giam-doc-phu-trach-hoat-dong-luu-ky.htm","Date": "05/07/2011"},{"ArticleId": 6534,"Title": "086: Uỷ quyền ký chứng từ lưu ký","Href": "/6534p4c22/086-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "02/07/2011"},{"ArticleId": 6504,"Title": "008: Đăng ký bổ sung Danh sách Thành viên Ban giám đốc chi nhánh phụ trách hoạt động lưu ký","Href": "/6504p4c22/008-dang-ky-bo-sung-danh-sach-thanh-vien-ban-giam-doc-chi-nhanh-phu-trach-hoat-dong-luu-ky.htm","Date": "29/06/2011"}]}

As Marc pointed out your div tag is empty. Actually news are retrieved by Javascript in Ajax request:

POST http://vsd.vn/Ajax/action.ashx HTTP/1.1
Host: vsd.vn
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://vsd.vn/p4c22/tin-thanh-vien.htm
Content-Length: 48

__aa=14&__catID=22&__pSize=20&__pIndex=1&__date=

And answer is JSON object with array of news

{ "TotalItem":168, "TotalPage":9, "d": [{"ArticleId": 6729,"Title": "205: Cấp Giấy chứng nhận Thành viên lưu ký","Href": "/6729p4c22/205-cap-giay-chung-nhan-thanh-vien-luu-ky.htm","Date": "15/07/2011"},{"ArticleId": 6724,"Title": "015: Đăng ký bổ sung Danh sách ban lãnh đạo phụ trách hoạt động lưu ký","Href": "/6724p4c22/015-dang-ky-bo-sung-danh-sach-ban-lanh-dao-phu-trach-hoat-dong-luu-ky.htm","Date": "15/07/2011"},{"ArticleId": 6716,"Title": "006: Cấp Giấy chứng nhận chi nhánh hoạt động lưu ký sửa đổi","Href": "/6716p4c22/006-cap-giay-chung-nhan-chi-nhanh-hoat-dong-luu-ky-sua-doi.htm","Date": "14/07/2011"},{"ArticleId": 6715,"Title": "070: Thay đổi Thành viên Hội đồng quản trị","Href": "/6715p4c22/070-thay-doi-thanh-vien-hoi-dong-quan-tri.htm","Date": "14/07/2011"},{"ArticleId": 6714,"Title": "032: Bổ sung nghiệp vụ kinh doanh chứng khoán","Href": "/6714p4c22/032-bo-sung-nghiep-vu-kinh-doanh-chung-khoan.htm","Date": "14/07/2011"},{"ArticleId": 6713,"Title": "032: Tăng vốn điều lệ","Href": "/6713p4c22/032-tang-von-dieu-le.htm","Date": "14/07/2011"},{"ArticleId": 6709,"Title": "057: Cấp Giấy chứng nhận Thành viên lưu ký sửa đổi","Href": "/6709p4c22/057-cap-giay-chung-nhan-thanh-vien-luu-ky-sua-doi.htm","Date": "13/07/2011"},{"ArticleId": 6708,"Title": "006: Uỷ quyền ký chứng từ lưu ký","Href": "/6708p4c22/006-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "13/07/2011"},{"ArticleId": 6707,"Title": "069: Uỷ quyền ký chứng từ lưu ký","Href": "/6707p4c22/069-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "13/07/2011"},{"ArticleId": 6682,"Title": "085: Uỷ quyền ký chứng từ lưu ký","Href": "/6682p4c22/085-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "12/07/2011"},{"ArticleId": 6667,"Title": "072: Cấp Giấy chứng nhận Thành viên lưu ký sửa đổi","Href": "/6667p4c22/072-cap-giay-chung-nhan-thanh-vien-luu-ky-sua-doi.htm","Date": "11/07/2011"},{"ArticleId": 6666,"Title": "065: Ủy quyền ký chứng từ lưu ký","Href": "/6666p4c22/065-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "11/07/2011"},{"ArticleId": 6594,"Title": "004: Uỷ quyền ký chứng từ lưu ký","Href": "/6594p4c22/004-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "08/07/2011"},{"ArticleId": 6590,"Title": "048: Đăng ký bổ sung Danh sách Ban lãnh đạo phụ trách hoạt động lưu ký","Href": "/6590p4c22/048-dang-ky-bo-sung-danh-sach-ban-lanh-dao-phu-trach-hoat-dong-luu-ky.htm","Date": "07/07/2011"},{"ArticleId": 6567,"Title": "083: Đăng ký bổ sung Danh sách Thành viên Ban giám đốc phụ trách hoạt động lưu ký","Href": "/6567p4c22/083-dang-ky-bo-sung-danh-sach-thanh-vien-ban-giam-doc-phu-trach-hoat-dong-luu-ky.htm","Date": "05/07/2011"},{"ArticleId": 6566,"Title": "083: Thay đổi cơ cấu nhân sự","Href": "/6566p4c22/083-thay-doi-co-cau-nhan-su.htm","Date": "05/07/2011"},{"ArticleId": 6565,"Title": "019: Thay đổi cơ cấu nhận sự","Href": "/6565p4c22/019-thay-doi-co-cau-nhan-su.htm","Date": "05/07/2011"},{"ArticleId": 6564,"Title": "019: Đăng ký bổ sung Danh sách Thành viên Ban giám đốc phụ trách hoạt động lưu ký","Href": "/6564p4c22/019-dang-ky-bo-sung-danh-sach-thanh-vien-ban-giam-doc-phu-trach-hoat-dong-luu-ky.htm","Date": "05/07/2011"},{"ArticleId": 6534,"Title": "086: Uỷ quyền ký chứng từ lưu ký","Href": "/6534p4c22/086-uy-quyen-ky-chung-tu-luu-ky.htm","Date": "02/07/2011"},{"ArticleId": 6504,"Title": "008: Đăng ký bổ sung Danh sách Thành viên Ban giám đốc chi nhánh phụ trách hoạt động lưu ký","Href": "/6504p4c22/008-dang-ky-bo-sung-danh-sach-thanh-vien-ban-giam-doc-chi-nhanh-phu-trach-hoat-dong-luu-ky.htm","Date": "29/06/2011"}]}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文