python-bs4的使用

BeautifulSoup4

官方文档

  是一个Python库,用于从HTML和XML文件中提取数据。它与您最喜欢的解析器一起使用,提供导航,搜索和修改解析树的惯用方法。它通常可以节省程序员数小时或数天的工作量。

1.安装BeautifulSoup4

pip install bs4

 2.详细操作

from bs4 import BeautifulSoup
from urllib import request
#获取网页内容
base_url = 'http://langlang2017.com/route.html'
response  = request.urlopen(base_url)
html = response.read()

#数据解析(从页面当中提取数据)
#创建bs4对象
soup = BeautifulSoup(html,'lxml')
#格式化输出对象中的内容
content = soup.prettify()

#提取页面当中的指定内容
# print(soup.title)  #获取title内容

#一  只能匹配到第一个标签内容
#1.tag(name)
# print(soup.name)   #输出文档类型
# print(soup.div.name) #输出标签名
#2attrs
# print(soup.title.attrs)
# print(soup.img.attrs)

#3修改属性值
img = soup.img.attrs
# print(img)
domain = 'http://www.langlang2017.com'
img["src"] = domain+ img["src"]
# print(img)

#4删除
img= soup.img.attrs
# print(img)
del  img["alt"]
# print(img)

#
#1获取文本
# print(soup.title)
# print(soup.title.attrs)
# print(soup.title.name)
#格式:标签名.string
# print(soup.title.string)

#三 标签名.contents 获取子节点列表
head = soup.head.contents
# print(head)
# print(head[3])

#标签名.children  --子节点
head_children = soup.head.children
# for i in head_children:
    # print(i)

#便签名.descendants  --子孙节点
# print(soup.div)
# for i in soup.div.descendants:
#     print(i)

#搜索文档 find_all()
# print(soup.meta)  #只能获取一个
# for i in soup.find_all('meta'):
#     print(i)

#标签列表
# print(soup.find_all(["h1","h2"]))

#关键词
# print(soup.find_all(id='weixin'))

#四 css选择器 soup.select()
#通过类名查找
# print(soup.select('.logo'))
#通过标签名查找
# print(soup.select('a'))
#通过id查找
# print(soup.select('#weixin'))

3.注意:运行报错

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need 

解决:安装 lxml包 

pip install lxml

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不止于python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值