使用Python从HTML提取数据

问题描述

获取BeautifulSoup并使用它。这很棒。

$> easy_install pip
$> pip install BeautifulSoup
$> python
>>> from BeautifulSoup import BeautifulSoup as BS
>>> import urllib2
>>> html = urllib2.urlopen(your_site_here)
>>> soup = BS(html)
>>> elem = soup.findAll('a', {'title': 'title here'})
>>> elem[0].text

解决方法

我的Python代码处理了以下文本:

<td>
<a href="http://www.linktosomewhere.net" title="title here">some link</a>
<br />
some data 1<br />
some data 2<br />
some data 3</td>

您能建议我如何从内部提取数据<td>吗?我的想法是将其放入具有以下格式的CSV文件中:some link,some data 1,some data 2,some data 3

我希望没有正则表达式会很困难,但实际上我仍然在反对正则表达式。

我或多或少地通过以下方式使用了代码:

tabulka = subpage.find("table")

for row in tabulka.findAll('tr'):
    col = row.findAll('td')
print col[0]

理想情况下是将每个td竞争以某个数组进行竞争。上面的HTML是python的结果。