我有超过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行文本和数据列。由于某种原因,我的代码并没有提取所有必需的数据,而是“遗漏”了一些数据,例如表格开头的地址1和地址2数据没有出来。我修改了代码以放入*和===分隔符,然后我使用perl放入一个干净的csv文件,遗憾的是我不知道如何使用我的代码来获取我正在寻找的所有数据!
答案 0 :(得分:0)
找到错过参数的文件, 然后尝试分析发生的事情......
我认为相同的文件格式不同,或者可能错过了真正的地址归档。