网络爬虫之BeautifulSoup入门(四)

10 篇文章 0 订阅
7 篇文章 0 订阅

5.带更多参数的find方法
官方文档给出的find方法的参数如下:find( name , attrs , recursive , string , **kwargs ),总体来看和find_all方法的参数没什么不同,在这里仍以示例的方法给出常见的使用方法:
两种方法的使用大致相同,注意以下两种写法都可以且输出结果一致,但显然使用find方法更方便。

soup.find_all('title', limit=1)
# [<title>The Dormouse's story</title>]

soup.find('title')
# <title>The Dormouse's story</title>

在这里一定要注意:find_all方法的返回值为列表,而find直接返回结果;同时在没有找到目标时,find_all返回空的列表,而find将返回None。
6. 输出格式及编码
- 使用prettify方法可以将BeautifulSoup对象格式化输出,这在大型项目内是非常有用的。当然也可以对对象的某一个tag节点使用该方法,如下:

markup = '<a href="http://example.com/">I linked to <i>example.com</i></a>'
soup = BeautifulSoup(markup)

print(soup.a.prettify())
# <a href="http://example.com/">
#  I linked to
#  <i>
#   example.com
#  </i>
# </a>

若只想得到结果字符串,而不注重格式的话,可以使用str方法,如下:

str(soup.a)
#'<a href="http://example.com/">I linked to <i>example.com</i></a>'

7.get_text()
若想得到tag中包含的文本内容,可以使用get_text()方法,如下:

soup.get_text()
u'\nI linked to example.com\n'
soup.i.get_text()
u'example.com'

8.实践
给出一个实践项目源码地址:网页表格抓取
介绍:项目内爬虫部分主要应用了get_text,find,find_all,prettify等方法,实现给定URL地址的网页表格提取存储、展示等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值