嗨,我正在尝试使用Beautiful Soup解析html表.该表看起来像这样:
<table width=100% border=1 cellpadding=0 cellspacing=0 bgcolor=#e0e0cc>
<tr>
<td width=12% height=1 align=center valign=middle bgcolor=#e0e0cc bordercolorlight=#000000 bordercolordark=white> <b><font face="Verdana" size=1><a href="http://www.dailystocks.com/" alt="DailyStocks.com" title="Home">Home</a></font></b></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<tr class="odd"><td class="left"><a href="whatever">ABX</a></td><td class="left">Barrick Gold Corp.</td><td>55.95</td><td>55.18</td><td class="up">+0.70</td><td>11040601</td><td>70.28%</td><td><center> <a href="whatever" class="bcQLink"> Q </a> <a href="chart.asp?sym=ABX&code=XDAILY" class="bcQLink"> C </a> <a href="texpert.asp?sym=ABX&code=XDAILY" class="bcQLink"> O </a> </center></td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我想从第二个表中获取信息,到目前为止我尝试了这段代码:
html = file("whatever.html")
soup = BeautifulSoup(html)
t = soup.find(id='table')
dat = [ map(str, row.findAll("td")) for row in t.findAll("tr") ]
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,任何帮助将不胜感激,谢谢
是从休息端点调用 puppeteer 的适当方法吗?
路由.js
const express = require('express');
const PuppeteerController = require('../controllers/puppetter');
const router = express.Router();
router.post('/getPath', PuppeteerController.getPage);
Run Code Online (Sandbox Code Playgroud)
控制器.js
async getPage(req, res) {
try {
let resp = await pageScanner.getPageContent(url);
return res.status(200).send(resp);
}
catch(e) {
return res.status(400).send({
error: 'not-found'
});
}
}
Run Code Online (Sandbox Code Playgroud)
扫描仪.js
async getPageContent(url) {
try {
const browser = await puppeteer.launch({
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--disable-gpu'
]
});
const page = await browser.newPage();
await page.setViewport({ width: 800, height: 600 });
await page.goto(url);
await page.waitFor(1000);
const pageContent …Run Code Online (Sandbox Code Playgroud)