2013-03-12 79 views
1

我一直在嘗試使用Jericho HTML Parser和Selenium IDE來從多個頁面中的HTML內部特定位置提取文本。從多個頁面上的特定HTML位置提取文本

我還沒有找到一個簡單的例子,如何做到這一點,我不知道java。

我想一個文件夾中找到所有的HTML頁面在第1臺,第4行,第1格的任何文本字符串:

</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> 

並打印選定的文本到文本文件中像一個列表這樣的:

The Text I want 
    Another Text I want 

所有源文件存儲在本地,並可能包含不良HTML,所以想通傑里科可能是最適合這個目的。不過,我很樂意學習任何方法來達到預期的效果。

回答

0

那麼到底我去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!'