嘿,爬虫爱好者们,有没有过这种经历?你兴冲冲地写了个爬虫,感觉自己是互联网的王者,能窃取,啊不,是“借鉴”全世界的数据。结果运行一看,好家伙,爬下来的东西五花八门,想要的文字藏在密密麻麻的HTML标签里,像一碗内容丰富的“乱炖”,你想吃的“肉”却怎么都夹不起来。
别慌!这不怪你,要怪就怪网页结构太复杂。这时候,你需要的不再是力气大的“搬运工”,而是心思缜密的“数据整容师”。而Beautiful Soup,就是你手术台上的首席专家。今天,我们不聊这位专家有多牛,我们专门聊聊它那双能“精准下刀”的巧手——过滤器(Filters)。
一、术前准备:先搞个“实习模特”
任何手术都不能拿真人直接开刀,咱们先准备一个简单的HTML文档当“实习模特”:
html_doc = """
<html>
<head><title>一个充满“料”的测试网页</title></head>
<body>
<p class="title"><b>欢迎来到我的小吃店</b></p>
<div id="main-menu" class="menu">
<ul id="fruits">
<li class="fruit">苹果</li>
<li class="fruit special">猕猴桃</li>
<li class="fruit">香蕉</li>
</ul>
<ul id="vegetables">
<li class="vege">胡萝卜</li>
<li class="vege">西兰花</li>
</ul>
</div>
<div class="intro">
我们是< a href="http://example.com" class="link" id="link1">最好的店</a>,提供
< a href="http://example.com/organic" class="link special" id="link2">有机食品</a>。
</div>
</body>
</html>
"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser') # 请出我们的专家Beautiful Soup
好了,模特就位。现在,我们要开始学习怎么给它“动刀”了。Beautiful Soup的过滤器,就是你在调用 find()

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



