使用Python从HTML中提取文本字段?
从这个HTML文件中提取数据,最好的方法是什么?我想把公司电话号码、公司名称和电子邮件放进MySQL数据库,电话号码作为主键。
</tr><tr class="tableRowOdd">
<td>"JSC company inc. 00" <email@email.com></td>
<td>1231231234</td>
</tr><tr class="tableRowEven">
<td>"JSC company inc. 01" <email01@email.com></td>
<td>234234234234234</td>
</tr><tr class="tableRowOdd">
<td>"JSC company inc. 02" <email2@email.com></td>
<td>32423234234</td>
</tr><tr class="tableRowEven">
<td>"JSC company inc. 03" <email3@email.com></td>
<td>23423424324</td>
</tr><tr class="tableRowOdd">
<td>"JSC company inc. 04" <email4@email.com></td>
<td>234234232324244</td>
</tr> <tr>
5 个回答
1
在解析数据方面,我强烈推荐使用Beautiful Soup这个工具。
如果你想把文本放进数据库里,我建议使用一个好的Python ORM(对象关系映射)。我最推荐的是Django里的ORM。如果你能用Django的话,不仅能用ORM,还能通过网页界面浏览你的数据库;你甚至可以通过网页直接输入数据到数据库里。
如果你不能使用Django,我推荐SQLAlchemy。
祝你好运!
1
使用 lxml,你可以像用 jQuery 一样轻松地完成这件事。
from lxml import html
doc = html.parse('test.html').getroot()
for row in doc.cssselect('tr'):
name, phone_number = row.cssselect('td')[:2]
print name.text_content()
print phone_number.text_content()
6
如果你想提取数据或者处理HTML,可以看看下面的内容:
http://www.crummy.com/software/BeautifulSoup/
至于MySQL,我建议你在网上搜索一下:MySQL教程 python