从跨多个页面的特定HTML位置提取文本



我一直在试验Jericho HTML Parser和Selenium IDE,目的是跨多个页面从HTML中的特定位置提取文本。

我没有找到一个简单的例子如何做到这一点,我不知道java。

我想在一个文件夹中找到所有的HTML页面在第一个表,第4行,第一个div文本的任何字符串:

</table>
 <tr class="abc"><td class="xyz"><div align="center">The Text I don't want</div></td></tr>
 <tr class="abc"><td class="xyz"><div align="center">The Text I don't want</div></td></tr>
 <tr class="abc"><td class="xyz"><div align="center">The Text I don't want</div></td></tr>    
 <tr class="abc"><td class="xyz"><div align="center">The Text I want</div></td></tr>
</table>

并将选中的文本打印到txt文件中,如下所示:

    The Text I want
    Another Text I want

所有源文件都存储在本地,并且可能包含错误的HTML,因此认为Jericho可能是最适合此目的的。然而,我很乐意学习任何方法来达到预期的结果。

最后我选择了beautifulsoup,并使用了一个python脚本,如下所示:

# open source html file
with open(html_pathname, 'r') as html_file:
# using BeautifulSoup module search html tag's tree
soup = BeautifulSoup(html_file)
# find according your criteria "1st table, 6th tr, 1st td, 1st div"
trs = soup.html.body.table.tr.findNextSiblings('tr')[4].td.div
# write found text to result txt
print ' - writing to result txt'
result_file.write(''.join(trs.contents) + 'n')
print ' - ok!'

相关内容

  • 没有找到相关文章

最新更新