bs4的基本使用

本文介绍了如何使用Python的BeautifulSoup库进行HTML数据抓取,包括创建BeautifulSoup对象、标签定位、属性定位、选择器定位以及数据提取的方法,展示了如何通过不同的定位方式获取和处理网页内容。
摘要由CSDN通过智能技术生成

下载

pip install bs4
pip install lxml

基本使用

from bs4 import BeautifulSoup
#1.创建一个BeautifulSoup的工具对象,然后把即将被解析的页面源码数据加载到该对象中
      #参数1:被解析的页面源码数据
      #参数2:固定形式的lxml(一种解析器)
soup = BeautifulSoup(fp,'lxml')

标签定位

title_tag = soup.title
p_tag = soup.div
print(p_tag )

查找到html源码的第一个div标签
在这里插入图片描述

标签属性定位

soup.find(tagName,attrName='value')
tags = soup.find_all('a',class_='du')

`

第二个参数可以是class_ 和 id
find_all是可以获取全部
find只查找一个


#注意:find只可以定位满足要求的第一个标签
#定位到了class属性值为song的div标签
div_tag = soup.find('div',class_='song')
print(div_tag )
print("===========================")
#定位到了id的属性值为feng的a标签
a_tag = soup.find('a',id='feng')
print(a_tag )

在这里插入图片描述

选择器定位

#常用的选择器:class选择器(.class属性值)  id选择器(#id的属性值)
tags = soup.select('#feng') #定位到id的属性值为feng对应的所有标签
tags = soup.select('.du') #定位到class属性值为du对应的所有标签
#层级选择器:>表示一个层级  一个空格可以表示多个层
tags = soup.select('.tang > ul > li > a')
tags = soup.select('.tang a')
print(tags)

数据的提取

#tag.string:只可以将标签直系的文本内容取出
#tag.text:可以将标签内部所有的文本内容取出
tag = soup.find('a',id='feng')
content = tag.string

div_tag = soup.find('div',class_='tang')
content = div_tag.text

#方式2:提取标签的属性值 tag['attrName']
img_tag = soup.find('img')
img_src = img_tag['src']
print(img_src)
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值