如何从网页中提取这些元素?

1 投票
2 回答
1205 浏览
提问于 2025-04-16 07:53

我有一个用HTML做的网页,里面有这些元素:

<div class="content_page">
    <a href="/earth" class="nametessera" >earth</a>
</div>
<div class="content_page">
    <a href="/world" class="nametessera" >world</a>
</div>
<div class="content_page">
    <a href="/planet" class="nametessera">planet</a>
</div>
...

我需要获取 /earth、/world、/planet 等链接。

所以我想要提取所有带有“nametessera”这个类的A标签的链接。

我该怎么用Python来做到这一点呢?

2 个回答

3

你可以用 Beautiful Soup 来解析HTML。

相关的说明文档可以在 这里 找到。

3

简短回答:

使用beautifulSoup来解析网页,提取出网址,然后用urlib2或者pycurl来下载这些网址的内容。

[编辑:]

在下面的例子基础上,添加只使用包含在div中的href链接

>>> alldiv = soup.findAll('div', { "class" : "content_page" })
>>> for div in alldiv: print div.a
... 
<a href="/earth" class="nametessera">earth</a>
<a href="/world" class="nametessera">world</a>
<a href="/planet" class="nametessera">planet</a>
>>> for div in alldiv: print div.a['href']
... 
/earth
/world
/plan

同样,你也可以这样做

allHref = soup.findAll('a', { "class" : "nametessera" })

撰写回答