使用美丽的独特分割和刮擦组

时间:2013-04-15 17:54:18

标签: python html screen-scraping beautifulsoup

所以我试图抓的网页是这样的:

...
<tr><td colspan=3><BR><div class="list">Foo:</div></td></tr>
<tr><td><img src="/images/2.gif" alt="Main"> <a href="/foo/1/"></A></td><td><a href="/browse/foo/1/">foo1</A></td></tr>
<tr><td><img src="/images/2.gif" alt="Main"> <a href="/foo/2/"></A></td><td><a href="/browse/foo/2/">foo2</A></td></tr>
<tr><td><img src="/images/1.gif" alt="Guest"> <a href="/foo/3/"></A></td><td><a href="/browse/foo/3/">foo3</A></td></tr>

<tr><td colspan=3><BR><div class="list">Bar:</div></td></tr>
<tr><td><img src="/images/1.gif" alt="Guest"> <a href="/bar/1/"></A></td><td><a href="/browse/bar/1/">bar1</A></td></tr>
<tr><td><img src="/images/1.gif" alt="Guest"> <a href="/bar/2/"></A></td><td><a href="/browse/bar/2/">bar2</A></td></tr>
<tr><td><img src="/images/2.gif" alt="Main"> <a href="/bar/3/"></A></td><td><a href="/browse/bar/3/">bar3</A></td></tr>

<tr><td colspan=3>...

我想把数据写成如下:

...
Foo:
    foo1
    foo2
    foo3

Bar:
    bar1
    bar2
    bar3
...

每个内容都以<tr><td colspan=3>分隔,这使我很难抓取信息......虽然我尝试了this方法但我无法获取数据群组共享<tr>标记。

是否有理性的方式使用beautifulsoup划分这些部分?提前谢谢。

1 个答案:

答案 0 :(得分:0)

实际上我最近不得不处理很多这样的数据结构 - td有一些span是一个标题,而下一个td是内容,直到新的td { {1}}来了

我使用这样的东西。

span