前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >美女老师带你做爬虫:BeautifuSoup库详解及实战!

美女老师带你做爬虫:BeautifuSoup库详解及实战!

作者头像
云飞
发布2018-09-11 17:49:43
4920
发布2018-09-11 17:49:43
举报
文章被收录于专栏:云飞学编程云飞学编程

工具:python2.7版本+pycharm

模块:urllib、urllib2、BeautifuSoup4模块(解析器lxml、html)

课题:BeautifuSoup原理详解,项目实战应用!

目标:1、了解Beautifulsoup库

2、学会Beautifulsoup库及其参数

3、通过一个项目使用beautifulsoup4模块爬取内容

HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树;因此可以说Beautiful Soup库是解析、遍历、维护“标签树”的功能库。

p标签:<p></p>:标签Tag ——一般,标签名都是成对出现的(位于起始和末尾),例如P;在第一个标签名之后可以有0到多个属性,表示标签的特点

<p class="title">...</p>——中间的class属性,其值为“title ”(属性是由键和值,键值对构成的)

通常,Beautiful Soup库的使用:

from bs4 import BeautifulSoup #主要使用BeautifulSoup类

事实上可以认为:HTML文档和标签树,BeautifulSoup类是等价的

Beautiful Soup库解析器:

bs4的HTML解析器:BeautifulSoup(mk,'html.parser')——条件:安装bs4库

lxml的HTML解析器:BeautifulSoup(mk,'lxml')——pip install lxml

lxml的XML解析器:BeautifulSoup(mk,'xml')——pip install lxml

html5lib的解析器:BeautifulSoup(mk,'html5lib')——pip install html5lib

Beautiful Soup类的基本元素:

1、Tag——标签,最基本的信息组织单元,分别用<>和</>表明开头和结尾

2、Name——标签的名字,<p>...</p>的名字是'p',格式:<tag>.name

3、Attributes——标签的属性,字典形式组织,格式:<tag>.attrs

4、NavigableString——标签内非属性字符串,<>...</>中的字符串,格式:<tag>.string

5、Comment——标签内字符串的注释部分,一种特殊的Comment类型(尖括号叹号表示注释开始:<!--This is a commet-->)

获取标签的方法:

from bs4 import BeautifulSoup

soup = BeautifulSoup(demo,'html.parser')

soup.a.name #a标签的名字

soup.a.parent.name #a标签的父标签的名字

soup.a.parent.parent.name #a标签的父标签的父标签名字

tag = soup.a

tag.attrs #a标签的属性

soup.a.string #获得a标签内非属性字符串(NavigableString )注意:soup.b.string也可能是获得Comment标签;可都过类型进行判断

好了废话不多说,大家看视频吧!有需要视频源文件的可以找小编哦^_^

视频内容
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云飞学python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档