gpt4 book ai didi

javascript - 如何在 Cheerio 中执行索引以进行网页抓取

转载 作者:行者123 更新时间:2023-12-04 09:36:56 25 4
gpt4 key购买 nike

我正在使用 Cheerio 进行网页抓取,我之前使用过 bs4。
我要刮https://rera.kerala.gov.in/rera_project_details本网站;在 Python 中,我们可以使用 findall("tr")[0] 来抓取表来获取第一个 <tr> .
但是如何在 Cheerio 中执行相同的操作?
下面是我的代码:

var request = require('request');
var cheerio = require('cheerio');
var fs = require('fs');


const url = "https://rera.kerala.gov.in/rera_project_details";

const arr = [];
request({method:"GET",url}, function(err, res, body){
if (res.statusCode==200){

let $ = cheerio.load(body);
const getID = $("#block-zircon-content");
const tbody = getID.find('tbody');
tbody.each((i, el)=>{
const ff = $(el).find("tr");
console.log(ff.html());//it returns first tr
//how to get 2 tr so that i can get td of second tr and can inde on td also
})


}}
)
如果我循环它返回所有 tr ,现在如何在每个 td 上建立索引,以便在表的最后一列中我可以获得获取 pdf 的链接?
编辑
我已经到达这里,但是如何获取 tr 中的 td 元素列表:
    const getID = $(".views-table");

const getBody = getID.find("tbody");

const gettr = getBody.find("tr");
const getfirsttr = $.html(gettr[0]);//it gives me first tr
const getfirsttd = getfirsttr.find("td")//does not work

最佳答案

您应该能够使用一个选择器来为您提供所需表格中的所有元素。一旦你有了元素,你就可以访问它们的属性、子元素等。

const url = "https://rera.kerala.gov.in/rera_project_details";
request({method:"GET",url}, function(err, res, body) {
if (res.statusCode==200) {
let $ = cheerio.load(body);
// Get all td elements from the table.
let tdElements = $("#block-zircon-content tbody tr td").map((i, el)=>{
return el;
}).toArray();
console.log(`<td> list: Found ${tdElements.length} elements..`);
console.log("tdElements[0]:", tdElements[0]);
console.log("tdElements[0]: (html)", $.html(tdElements[0]))
}}
);
要使用 .find() 简单地查找表中的所有 td 元素,我们可以尝试:
const trElements = $("#block-zircon-content tbody").find("tr");
const tdElements = trElements.find("td").toArray();
console.log(`first td:`, tdElements[0]);

关于javascript - 如何在 Cheerio 中执行索引以进行网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62529394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com