黑马程序员python基础班教程笔记:使_第1页
黑马程序员python基础班教程笔记:使_第2页
黑马程序员python基础班教程笔记:使_第3页
黑马程序员python基础班教程笔记:使_第4页
黑马程序员python基础班教程笔记:使_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使 Beautiful Soup 解析数据有的伙伴们对写正则表达式的写法得不熟练,没关系,我们还有个更强的具,叫Beautiful Soup,有了它我们可以很便地提取出HTML或XML标签中的内容,实在是便,这节就让我们起来感受下BeautifulSoup的魅1. Beautiful Soup的简介简单来说,Beautiful Soup是python的个库,最主要的功能是从抓取数据。官解释如下:Beautiful Soup提供些简单的、python式的函数来处理导航、搜索、修改分析树等功能。它是个具箱,通过解析档为户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出个完整的应程序。 B

2、eautiful Soup动将输档转换为Unicode编码,输出档转换为utf-8编码。你不需要考虑编码式,除档没有指定个编码式,这时,Beautiful Soup就不能动识别编码式了。然后,你仅仅需要说明下原始编码式就可以了。 Beautiful Soup已成为和lxml、html6lib样出的python解释器,为户灵活地提供不同的解析策略或强劲的速度。2. 安装下载地址: /pypi/beautifulsoup4/4.3.2官档: /zh_CN/latest3. 使 from

3、 bs4 import BeautifulSoup我们创建个字符串,后的例我们便会它来演示 创建 beautifulsoup 对象 soup = BeautifulSoup(html)下我们来打印下 soup 对象的内容,格式化输出 print soup.prettify()3.1 找标签我们可以利 soup加标签名轻松地获取这些标签的内容,是不是感觉正则表达式便多了?不过有点是,它查找的是在所有内容中的第个符合要求的标签对于标签,它有两个重要的属性,是 name 和 attrs,下我们分别来感受下soup 对象本身较特殊,它的 name 即为 document,对于其他内部标签,输出的值便为

4、标签本身的名称在这,我们把 p 标签的所有属性打印输出了出来,得到的类型是个字典。如果我们想要单独获取某个属性,可以这样,例如我们获取它的 class 叫什么3.2 获取字既然我们已经得到了标签的内容,那么问题来了,我们要想获取标签内部的字怎么办呢?很简单, .string 即可,例如print soup.p.string#The Dormouses story3.3 CSS选择器在CSS中,标签名不加任何修饰,类名前加点,id名前加 #,在这我们也可以利类似的法来筛选元素,到的法是 soup.select(),返回类型是list3.3.1 通过标签名查找print soup.select(t

5、itle)#The Dormouses story3.3.2 通过类名查找print soup.select(.sister)#, Lacie, Tillie3.3.3 通过 id 名查找 print soup.select(#link1)#3.3.4 组合查找组合查找即和写 class 件时,标签名与类名、id名进的组合原理是样的,例如查找 p 标签中,id 等于 link1的内容,者需要空格分开print soup.select(p #link1)#3.3.5 直接标签查找print soup.select(head title)#The Dormouses story3.3.6 属性查找查找时还可以加属性元素,属性需要中括号括起来,注意属性和标签属于同节点,所以中间不能加空格,否则会法匹配到。 同样,属性仍然可以与上述查找式组合,不在同节点的空格隔开,同节点的不加空格 print soup.select(p ahref=/elsie)#以上的 select 法返回的结果都是列表形式,可以遍历形式输出,然后get_text() 法来获取它的内容。soup = BeautifulSoup(html, lxml)print type(soup.select(titl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论