【发布时间】:2019-07-20 18:43:01
【问题描述】:
我正在使用节点和cheerio 抓取必应搜索结果。我需要从两个具有不同 ID 的列表中获取所有 href 值。
- 如何将这两个列表中的所有标签合二为一 陈述?我试过了,但没用。
- 从第一个列表中,我不希望带有类的 li 标签 “b_pag”。我怎样才能为它写一个选择器?像 Not 条件或 东西。
$("a", ["#b_content", "#b_context"]).each((index, element) => { const href = $(element).attr("href"); links.push(href); });
请参阅随附的 html 屏幕截图。html
Update2:我想忽略整个 <li class="b_pag"> 标签,但我在这里和其他地方找到的解决方案只忽略了那个标签。它下面的任何其他<li> 标签,如果有任何其他或没有类,都不会被忽略。
我找到了解决方法。我可以获取具有其他类名的<li> 标签。查看the html here。我正在考虑为前四个类使用四个不同的选择器。喜欢$(.b_algo) 或$(.b_ans)。但是我怎样才能抓住另外两个 <li> 有多个与之关联的类的标签呢?我无法从cheerio docs 得到一个明确的想法。希望我对你们来说足够清楚!像$(.b_ans b_mop) 这样的东西不起作用。 $("li[class=b_ans b_mop") 也没有。
【问题讨论】:
-
所有的 li 都持有 标签吗?看看我的工作。 jsfiddle.net/apmnky0b
-
是的,所有 li 标签都有一个标签和其他标签
-
我看到了你的代码。它以 b_content 作为类获取 ol 下的所有 a 标签。我想忽略以“b_pag”为类的 li 标签。请参阅屏幕截图中的最后一个 li。这就是我想忽略的。需要所有其他 li 标签。
标签: javascript node.js dom web-scraping cheerio