0

我想从网站链接中提取信息:

http://www.website.com

有一个字符串出现了几次:“STRING TO CAPTURE”,但我想捕捉第一次出现。它将位于以下结构中:

<td width="10%" bgcolor="#FFFFFF"><font class="bodytext9">1-Jun-2013</font></td>
<td width="4%" bgcolor="#FFFFFF" align=center><font class="bodytext9">Sat</font></td>
<td width="4%" bgcolor="#FFFFFF" align="center"><font class="bodytext9">TIME</font></td>
<td width="15%" bgcolor="#FFFFFF" align="center"><a class="black_9" href="link1">Some Text here</a></td>
<td width="5%" bgcolor="#FFFFFF" align="center"><font class="bodytext9"><img src="img/colors/pink.gif"></font></td>
<td width="5%" bgcolor="#FFFFFF" align="center"></td>
<td width="5%" bgcolor="#FFFFFF" align="center"><font class="bodytext9">Another Text</font></td>
<td width="5%" bgcolor="#FFFFFF" align="center"></td>
<td width="5%" bgcolor="#FFFFFF" align="center"><font class="bodytext9"><img src="img/colors/white.gif"></font></td>
<td width="15%" bgcolor="#FFFFFF" align="center"><a class="black_9" href="link2">Here is also Text</a></td>
<td width="15%" bgcolor="#FFFFFF" align="center"><a href="LINKtoWeb" class=list><u>STRING TO CAPTURE</u></a></td>
<td width="4%" bgcolor="#FFFFFF" align="center"><a target="_new" href="AnotherLink"><img src="img/img2.gif" border="0"></a></td>
</tr>

这是一种固定格式,其中 12 行以开头和所有其他标记之间;我想提取每一行中的文本,例如。

1-Jun-2013
Sat
TIME
Some Text here
...
STRING TO CAPTURE

我还想在包含“STRING TO CAPTURE”的行中提取链接,即:

LINKtoWeb

在我看来,python 可以非常实用地完成这项任务,但我对 python 也太陌生,无法让它工作,希望这里的 python 专家可以告诉我如何。我不知道从哪里开始,四处搜索并发现这可能是解决方案:

use YAML;
my $data = Load(http://www.website.com);
say $data->{"<tr>"}->{"<td>"}->{"STRING TO CAPTURE"};

但是我不知道如何处理这12行中的所有文本?

4

1 回答 1

1

然后下载并安装BeautifulSoup

html = urllib.urlopen('http://www.website.com').read()
soup = BeautifulSoup.BeautifulSoup(html)
texts = soup.findAll(text=True)

def get_stuff(element):
    if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
        return False
    elif re.match('<!--.*-->', str(element)):
        return False
    return True

visible_texts = filter(get_stuff, texts)

来源 - BeautifulSoup 抓取可见网页文本

于 2013-05-30T06:25:35.050 回答