我不是程序员
我想要一个页面,在其中插入另一个x.htm页面的地址,然后单击"get“
然后,我想将数据保存在mysql数据库中,以便为每个驱动程序获取数据。
<table align="center">
<tbody>
<center><b><p>Statistik: 07-02-2022 21:55:35 - </p></b></center><br />
<tr bgColor="#999999">
<td bgcolor="#999999" width="30">
<div align="center">
<font face="Verdana">Pos </font>
</div>
</td>
<td bgcolor="#999999" width="158">
<div align="center">
<font face="Verdana">driver </font>
</div>
</td>
<td bgcolor="#999999" width="100">
<div align="center">
<font face="Verdana">Car </font>
</div>
</td>
<td bgcolor="#e5665e" width="70">
<div align="center">
<font face="Verdana"> 1-Red</font>
</div>
</td>
<td bgcolor="#ffffff" width="70">
<div align="center">
<font face="Verdana"> 2-White</font>
</div>
</td>
<td bgcolor="#78ccea" width="70">
<div align="center">
<font face="Verdana"> 3-Blue</font>
</div>
</td>
<td bgcolor="#ffff28" width="70">
<div align="center">
<font face="Verdana"> 4-Yellow</font>
</div>
</td>
<td bgcolor="#999999" width="70">
<div align="center">
<font face="Verdana"><b>Best time</b></font>
</div>
</td>
<td bgcolor="#999999" width="80">
<div align="center">
<font face="Verdana">Total laps</font>
</div>
</td>
</tr>
<tr bgColor="#999999">
<td bgcolor="#ffffff" width="30">
<div align="center">
<font face="Verdana">1</font>
</div>
</td>
<td bgcolor="#ffffff" width="158">
<div align="center">
<font face="Verdana">James Hunt</font>
</div>
</td>
<td bgcolor="#ffffff" width="100">
<div align="center">
<font face="Verdana">Alfa Romeo GTA</font>
</div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center">
<font face="Verdana"><b>7.952</b></font>
</div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center">
<font face="Verdana"><b>7.963</b></font>
</div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center">
<font face="Verdana"><b>7.975</b></font>
</div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center">
<font face="Verdana"><b>8.088</b></font>
</div>
</td>
<td bgcolor="#ffffff" width="70">
<div align="center">
<font face="Verdana"><b>7.952</b></font>
</div>
</td>
<td bgcolor="#ffffff" width="80">
<div align="center">
<font face="Verdana"><b>88.25</b></font>
</div>
</td>
</tr>
<tr bgColor="#999999">
<td bgcolor="#ffffff" width="30">
<div align="center">
<font face="Verdana">2</font>
</div>
</td>
<td bgcolor="#ffffff" width="158">
<div align="center">
<font face="Verdana">Jackie Stewart</font>
</div>
</td>
<td bgcolor="#ffffff" width="100">
<div align="center">
<font face="Verdana">Mini Cooper</font>
</div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center">
<font face="Verdana">8.176</font>
</div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center">
<font face="Verdana">8.194</font>
</div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center">
<font face="Verdana">7.989</font>
</div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center">
<font face="Verdana">8.197</font>
</div>
</td>
<td bgcolor="#ffffff" width="70">
<div align="center">
<font face="Verdana">7.989</font>
</div>
</td>
<td bgcolor="#ffffff" width="80">
<div align="center">
<font face="Verdana">86.68</font>
</div>
</td>
</tr>
发布于 2022-02-13 08:29:44
嗯,伙计,这太简单了:你可以使用QuerySelectorAll。
请参阅基于您的代码的示例:
const rows = [];
document.querySelectorAll('table tbody tr').forEach((tr, rowIndex) => {
const row = [];
tr.querySelectorAll('td').forEach((item, cellIndex) => {
console.log(`row ${rowIndex}, cell ${cellIndex}:`, item.textContent.trim());
row.push(item.textContent.trim());
});
rows.push(row);
});
console.log("rows", rows); // you can use this data to save on you database
<table>
<tbody>
<center>
<b>
<p>Statistik: 07-02-2022 21:55:35 - </p>
</b>
</center>
<br />
<tr bgColor="#999999">
<td bgcolor="#999999" width="30">
<div align="center"> <font face="Verdana">Pos </font></div>
</td>
<td bgcolor="#999999" width="158">
<div align="center"> <font face="Verdana">driver </font></div>
</td>
<td bgcolor="#999999" width="100">
<div align="center"> <font face="Verdana">Car </font></div>
</td>
<td bgcolor="#e5665e" width="70">
<div align="center"> <font face="Verdana"> 1-Red</font></div>
</td>
<td bgcolor="#ffffff" width="70">
<div align="center"> <font face="Verdana"> 2-White</font></div>
</td>
<td bgcolor="#78ccea" width="70">
<div align="center"> <font face="Verdana"> 3-Blue</font></div>
</td>
<td bgcolor="#ffff28" width="70">
<div align="center"> <font face="Verdana"> 4-Yellow</font></div>
</td>
<td bgcolor="#999999" width="70">
<div align="center"> <font face="Verdana"><b>Best time</b></font></div>
</td>
<td bgcolor="#999999" width="80">
<div align="center"> <font face="Verdana">Total laps</font></div>
</td>
</tr>
<tr bgColor="#999999">
<td bgcolor="#ffffff" width="30">
<div align="center"> <font face="Verdana">1</font></div>
</td>
<td bgcolor="#ffffff" width="158">
<div align="center"> <font face="Verdana">James Hunt</font></div>
</td>
<td bgcolor="#ffffff" width="100">
<div align="center"> <font face="Verdana">Alfa Romeo GTA</font></div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center"> <font face="Verdana"><b>7.952</b></font></div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center"> <font face="Verdana"><b>7.963</b></font></div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center"> <font face="Verdana"><b>7.975</b></font></div>
</td>
<td bgcolor="#87fe58" width="70">
<div align="center"> <font face="Verdana"><b>8.088</b></font></div>
</td>
<td bgcolor="#ffffff" width="70">
<div align="center"> <font face="Verdana"><b>7.952</b></font></div>
</td>
<td bgcolor="#ffffff" width="80">
<div align="center"> <font face="Verdana"><b>88.25</b></font></div>
</td>
</tr>
<tr bgColor="#999999">
<td bgcolor="#ffffff" width="30">
<div align="center"> <font face="Verdana">2</font></div>
</td>
<td bgcolor="#ffffff" width="158">
<div align="center"> <font face="Verdana">Jackie Stewart</font></div>
</td>
<td bgcolor="#ffffff" width="100">
<div align="center"> <font face="Verdana">Mini Cooper</font></div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center"> <font face="Verdana">8.176</font></div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center"> <font face="Verdana">8.194</font></div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center"> <font face="Verdana">7.989</font></div>
</td>
<td bgcolor="#b6fea6" width="70">
<div align="center"> <font face="Verdana">8.197</font></div>
</td>
<td bgcolor="#ffffff" width="70">
<div align="center"> <font face="Verdana">7.989</font></div>
</td>
<td bgcolor="#ffffff" width="80">
<div align="center"> <font face="Verdana">86.68</font></div>
</td>
</tr>
</tbody>
</table>
PS: --如果您使用NodeJS(服务器端),也许可以先获得NodeJS代码,然后使用jsdom这样的dom读取器来解析NodeJS并使用类似的前面的解决方案。PS 2:您可以使用axios处理http/s请求
const html = (await axios.get("https://example.com/page.html")).data;
const dom = new JSDOM(html);
const trs = dom.querySelectorAll('table tbody tr');
https://stackoverflow.com/questions/71102584
复制