Puppeter:Web抓取一个表(字符串数组?)

问题描述 投票:0回答:1

我正在尝试从表listed on this website.刮取数据,我能够刮除updateDate,但是列和行存在问题。

我试图抓取的表嵌套在ID为tdcol2中。

我的问题:

我似乎无法弄清楚如何正确查询行,因此我可以获得所有数字数据(每行都是一个字符串数组;]]

enter image description here

表格(来自检查员):

enter image description here

我的代码:

// Find Table Rows
console.log('Searching for COVID-19 Data from Orange County');

// Table Rows
let tableRows = await page.$$('#col2 > div > table > tbody > tr');
// console.log(tableRows);

// Check For Table Rows
if (tableRows.length > 0) {
  console.log('Table Rows found');

  // Update Date (Length: 10)
  if (await tableRows[2].$$('tr > td')) {
    // Assign Element (First Row)
    let updateField = String(await tableRows[2].$eval('tr > td', td => td.innerText.trim()));

    // Check If Matches
    if (updateField.match(/(as of [0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9])/)) {
      const updateDate = updateField.slice(51, updateField.length - 1).trim();
      console.log(`Update Date: ${updateDate}`);
    }
    else {
      throw error('Error: Update Date doesn\'t match format');
    } 
  }

  // Cases
  if (await tableRows[5].$$('tr > td')) {
    // Assign Element (First Row)
    let totalCasesField = String(await tableRows[5].$eval('tr > td', td => td.innerText.trim()));
    console.log(totalCasesField);
  }

我正在尝试从此网站上列出的表格中抓取数据。我可以抓取updateDate,但是列和行有问题。我尝试抓取的表嵌套在td中...

javascript node.js web-scraping puppeteer
1个回答
0
投票

这样的事情?

© www.soinside.com 2019 - 2024. All rights reserved.