У меня есть текст HTML, который выглядит как много экземпляров следующей структуры:BeautifulSoup HTML извлечения данных с BeautifulSoup и Python
<DOC>
<DOCNO> XXX-2222 </DOCNO>
<FILEID>AP-NR-02-12-88 2344EST</FILEID>
<HEAD>Reports Former Saigon Officials Released from Re-education Camp</HEAD>
<TEXT>
Lots of text here
</TEXT>
</DOC>
Что мне нужно сделать, это индекс каждая структура, с DocNo, заголовок и текст , для последующего анализа (токенизация и т. д.).
Я думал об использовании BeautifulSoup, и это код, который я до сих пор:
soup = BeautifulSoup (file("AP880212.html").read())
num = soup.findAll('docno')
Но это только дает мне результаты в следующем формате:
<docno> AP880212-0166 </docno>, <docno> AP880212-0167 </docno>, <docno> AP880212-0168 </docno>, <docno> AP880212-0169 </docno>, <docno> AP880212-0170 </docno>
Как извлечь числа в пределах <>? И связать их с заголовками и текстами?
Большое спасибо,
Саше
И если я хотел прочитать его из .html-файлов из каталога? В настоящее время я делаю путь = '/ TREC-AP88-90-qrels1-50/Документы' для INFILE в glob.glob (os.path.join (путь, '* HTML'.)): soup = BeautifulSoup (файл (infile) .read(), features = "xml") , а затем ваш код, но это не дает мне правильных результатов. – user2070177
кажется, что только найдет первый «документ», даже если в документе больше ... – user2070177
Фактически, это часть «xml», которая заставляет ее останавливаться после первого документа .. есть ли способ обойти это? – user2070177