2013-03-12 2 views
1

Я экспериментировал с Иерихонским HTML Parser и Selenium IDE для извлечения текста из определенного места внутри HTML на нескольких страницах.Извлечь текст из определенного места HTML на нескольких страницах

Я не нашел простой пример того, как это сделать, и я не знаю java.

Я хотел бы найти в папке все HTML-страниц в 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 и использовал питон скрипт с чем-то вроде этого:

# 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!' 
Смежные вопросы