1

所以我试图抓取一个带有一些 CC 内容的网页,但我无法将正确的唯一选择器归零以提供 CsQuery。最初使用 Google Chrome、IE 11 和 Firefox 尝试失败(仅成功获得 3/11 元素)后,我了解到 CsQuery 使用 Gecko 引擎。神奇的是,使用 Gecko 引擎本身的 Firefox 并没有给我正确的选择器(同样是 3/11 场景)。所以我试图深入挖掘。CsQuery 的 Gecko 引擎验证器更新是 2013 年 5 月 15 日发布的。所以我搜索了当时的 firefox 版本(21,发布于 2013 年 5 月 14 日)。我使用它,只是对相同的结果感到失望。(3/11)

那么,如何为您的项目获得正确的唯一选择器?任何提示都会对我有所帮助,我已经解决这个问题大约两周了。如果绝对必要,我可以提供网址和我的要求,但我不希望这样做。

我所说的 3/11 元素是什么意思:

CQ somePage = CQ.CreateFromUrl(someUrlHereAsString);
String someQuery1 = "div someTag:nth-child(1) someOtherTag";
String someQuery2 = "div someOtherTagNotUsedBefore";
CQ someDom = somePage[someQuery1];
CQ someOtherDom = somePage[someQuery2];

现在,如果someDomisnull并且someOtherDom有一个有效的 csquery DOM 元素,我说成功获得了 1/2 个元素。

4

1 回答 1

0

可能已经过时了......你真的需要一个SelectorGadget 一个 chrome 扩展,它可以快速生成 css 选择器。并且对 csquery 生成唯一且必需的 css 选择器非常有帮助。您可以快速使用这两种工具编写网络爬虫。

于 2014-11-07T13:03:31.440 回答