我正在嘗試通過網路抓取https://liquipedia.net/dota2/Admiral此頁面上的所有<li>標簽,這些<ul>標簽再次位于mw-parser-output具有該title屬性的類的 div 內。(我認為這就是他們在 HTML 世界中的稱呼?就像<tag property="...">)。
使用 Cheerio 執行此操作的最優雅、最簡單的方法是什么?我知道我可以用一些 for 回圈和其他東西來做到這一點,但如果有一種簡單的方法來做到這一點,我的代碼會更清晰。
uj5u.com熱心網友回復:
我很高興 Cheerio 就像 jQuery。像這樣的簡單選擇器應該可以:
const li = $('div.mw-parser-output > ul > li[title]').toArray(); // Optionaly turn selected items into an array
CSS選擇器的解釋:
div.mw-parser-outputdiv確保元素是那個。點表示選擇器是一個class。>指向直接的孩子ul簡單的ul標簽li[title]任何li標簽,但它需要有標題屬性。
然后我們將結果轉換為一個陣列,以便它變得可用。
就是這么簡單。
您還可以li使用以下內容獲取每個元素的文本陣列:
const arrayOfLiTexts = li.map($el => $el.text());
uj5u.com熱心網友回復:
https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
const elements = $('div[title].mw-parser-output ul li').toArray();
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/391359.html
標籤:javascript 节点.js 网页抓取 啦啦队
上一篇:瀏覽器認為HTML檔案是js檔案
下一篇:執行nodeJS檔案的存盤程序
