【发布时间】:2017-06-01 01:03:27
【问题描述】:
我正在对几百页亚马逊搜索结果进行一些数据分析,并使用 hap 来解析结果:
hap.DocumentNode.SelectNodes("//ul[@id='s-results-list-atf']/li")
这只会返回结果列表的前四个 li,尽管还有更多。我已经检查并仔细检查了,我确定这是正确的 - 我做错了什么吗?我不明白为什么结果仅限于 4 个。典型的页面内容可能是:https://www.amazon.com/s/?url=search-alias%3Daps&field-keywords=100+percent+barstow
使用其他搜索结果页面会出现同样的问题,并且不会在页面上给出结果,但总是比那里的结果少很多。
【问题讨论】:
-
也许这个页面是按需加载的,考虑到滚动,那么你没有得到整个结果。
-
@Fals 我也这么认为,但检查了它正在解析的 html 输出,它就在那里。如果我将
SelectNodes更改为更宽松的内容,则会捕获 21 个节点(页面上的每个列表)。 -
试试另一个选择器,比如 id 包含 result_。
-
如上。应该有 12 个节点时是 4 个节点或 21 个节点
-
@user3791372 我检查了亚马逊页面并在页面源上做了一个 CTRL+F 并且只找到了 3 个节点
标签: c# html-agility-pack