我有很多html文件,我想提取每个html页面中的表格和表格外的其他信息,并将所有提取的信息合并到一个csv文件或tab delimited文件中。虽然有一个帖子的
"从多个html文件中提取文本到一个CSV文件的最佳方法"
我试着用我的html数据,速度很快,但结果是只有一列数据,当然它忽略了表外的信息。我把html文件预处理为
output.txt
,其中包括我需要的表内或表外的信息。,其中包括我用bash命令所需要的表内或表外的信息。
#!/bin/bash
for f in '*.html'; do
cat $f | sed -n '/tbody><tr/,/\/tbody>/p' > output.txt
done;
它做得很好,它给我们留下了一个非常干净的表格和其他我需要的信息。
output.txt的部分就像这样。
<tbody><tr><td><a href="fjzt-x.html?uid=NNNN">data11</a></td>
<td class="bzt">data12</td>
<td>data13</td>
<td>data14</td>
<td>data15</td>
<td>data16</td>
<td>data17</td>
<td class="tdb"><span id="sNNNNN"></span></td>
<td class="tdb"><span id="zfNNNNN"></span></td>
<td class="bzt">--</td><td></td>
<script src="https://hq.sohujs.cn/list=data18" type="text/javascript" charset="gbk"></script>
<script type="text/javascript">getprice1('NNNNN',NNNN,NNN);</script>
</code></pre>
<td><a href="fjzt-x.html?uid=NNNN">data21</a></td>
<td class="bzt">data22</td>
<td>data23</td>
<td>data24</td>
<td>data25</td>
<td>data26</td>
<td>data27</td>
<td class="tdb"><span id="sNNNNN"></span></td>
<td class="tdb"><span id="zfNNNNN"></span></td>
<td class="bzt">--</td><td></td>
<script src="https://hq.sohujs.cn/list=data28" type="text/javascript" charset="gbk"></script>
<script type="text/javascript">getprice1('NNNNN',NNNN,NNN);</script>
我希望以制表符分隔的Out Sample是这样的。
data11 data12 data13 data14 data15 data16 data17 data18
data21 data22 data23 data24 data25 data26 data27 data28
谁能帮助我?Bash或python命令会更好。