nodejs的puppeteer爬药监局
时间: 2023-10-09 19:09:49 浏览: 50
可以使用Puppeteer库来模拟浏览器操作,从而爬取药监局的数据。以下是一个简单的示例代码:
```javascript
const puppeteer = require('puppeteer');
async function run() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://app1.nmpa.gov.cn/data_nmpa/face3/base.jsp?tableId=26&tableName=TABLE26&title=%B9%FA%B2%FA%D2%A9%C6%B7&bcId=152904714761762836015163442433');
// 切换到第一个iframe
await page.waitForSelector('iframe[name="dataIframe"]');
const frame = page.frames().find(frame => frame.name() === 'dataIframe');
// 获取表格数据
const tableRows = await frame.$$('tr[height="25"]');
const data = [];
for (const row of tableRows) {
const columns = await row.$$('td');
const rowData = [];
for (const column of columns) {
rowData.push(await column.evaluate(node => node.innerText.trim()));
}
data.push(rowData);
}
console.log(data);
await browser.close();
}
run();
```
这段代码通过Puppeteer库打开目标网页,并切换到第一个iframe中,然后获取表格数据并输出到控制台。你需要根据目标网页的实际情况进行相应的调整,例如修改URL、选择不同的iframe等。