我设法从网站提取数据,然后从提取的网页获取相关数据。现在我不知道如何从<td>
cols中提取数据。进入数组操作数组?
我提取的HTML如下:
<tbody>
<tr>
<td>abc3207</td>
<td>151</td>
<td>Lorem Ipsum</td>
<td>Off Campus</td>
<td>OFF</td>
<td>12 of 999 </td>
<td> </td>
<td> </td>
<td><a href="http://lorem.com/test?id=abc3207&year=2015" target="_blank">Get</a></td>
</tr>
<tr>
<td>abc3207</td>
<td>151</td>
<td>Dolor Sit Amet</td>
<td>Mount Lawley</td>
<td>ON</td>
<td>45 of 999 </td>
<td><a href="http://lorem.com//lookup?sq_content_src=asas">Activity</a></td>
<td> </td>
<td><a href="http://lorem.com/test?id=abc3207&year=2015" target="_blank">Get</a></td>
</tr>
</tbody>
我使用bash脚本执行此操作,因为我必须通过bash执行此操作。
答案 0 :(得分:0)
要解析html或xml,您最好使用专用命令行工具xmlstarlet或xmllint。
但是使用你的html示例,你可以试试这个:
mapfile td < <(sed -n 's/[\t ]*<td[^>]*>\(.*\)<\/td>/\1/p' file)
for td in "${td[@]}"; do
printf "$td"
done
sed提取所有td内容,并使用process substitution将结果传递给mapfile。
mapfile
将来自进程替换的每一行存储在名为$td
的数组变量中。
它将与您的简单html一起使用:
td
个标记td