извлечение текста из нескольких HTML-файлов в один CSV-файл - PullRequest
0 голосов
/ 11 января 2011

У меня чуть более 1500 HTML-страниц (от 1.html до 1500.html).Я написал код с использованием Beautiful Soup, который извлекает большую часть нужных мне данных, но «пропускает» некоторые данные в таблице.

Мой ввод: например, файл 1500.html

Мой код:

#!/usr/bin/env python
import glob
import codecs
from BeautifulSoup import BeautifulSoup
with codecs.open('dump2.csv', "w", encoding="utf-8") as csvfile:
for file in glob.glob('*html*'):
        print 'Processing', file
        soup = BeautifulSoup(open(file).read())
        rows = soup.findAll('tr')
        for tr in rows:
                cols = tr.findAll('td')
                #print >> csvfile,"#".join(col.string for col in cols)
                #print >> csvfile,"#".join(td.find(text=True))
                for col in cols:
                        print >> csvfile, col.string
                print >> csvfile, "==="
        print >> csvfile, "***"

Вывод:

Один CSV-файл с 1500 строками текста и столбцами данных.По какой-то причине мой код не извлекает все необходимые данные, но «пропускает» некоторые данные, например, данные Address1 и Address 2 в начале таблицы не отображаются.Я изменил код, вставив разделители * и ===, а затем использовал perl, чтобы поместить его в чистый CSV-файл, к сожалению, я не уверен, как работает мой код, чтобы получить все данные, которые я ищу!

1 Ответ

0 голосов
/ 11 января 2011

найти файлы, в которых вы получили пропущенные параметры, и после этого попытайтесь проанализировать, что произошло ...

Я думаю, что одни и те же файлы имеют другой формат, или, может быть, действительно заполненный адрес пропущен.

...