Python爬虫学习笔记.Beautiful Soup库的使用

本文详细介绍了Python的Beautiful Soup库,包括其概述、解析器的使用、基础操作、节点选择器的方法以及CSS选择器的应用,是学习Beautiful Soup进行网页数据提取的实用教程。
摘要由CSDN通过智能技术生成

一,概述

Python的一个HTML或XML的解析库,可用其方便的从网页中提取数据
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码

二,解析器

解析器 使用方法
Python标准库 BeautifulSoup(markup,‘html.parser’)
lxml HTML 解析器 BeautifulSoup(markup,‘lxml’)
lxml XML 解析器 BeautifulSoup(markup,‘xml’)
html5lib BeautifulSoup(markup,’html5lib‘)

三,基本使用

①初始化BeautifulSoup对象
②调用初始化所得的对象的各种属性和方法解析HTML代码

soup = BeautifulSoup(markup,parser)

参数:
第一个参数:要解析的对象,可以是HTML字符串或文件句柄
第二个参数:要使用的解析器

返回值:
返回BeautifulSoup对象

BeautifulSoup对象:
prettify()方法:
将要解析的字符串以标准格式输出

title属性:
可以获得title标签
title.string:
可以获得title标签的文本内容

引例:

from bs4 import BeautifulSoup
import lxml
import requests

headers ={
   
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}

response = requests.get('https://www.baidu.com/',headers=headers)
html = response.text
soup = BeautifulSoup(html,'lxml')
print(soup.prettify())
print(soup.title.string)

四,节点选择器

Ⅰ,使用

BeautifulSoup对象.节点名称

Ⅰ,bs4.element.Tag类型
对BeautifulSoup对象调用节点名称即可获得该类型

string属性:
调用该属性可获得该节点的文本内容

attrs属性:
获得该节点的所有属性,以字典形式陈列

contents属性:
获取该节点的所有直接子节点,以列表方式输出

children属性:
获取该节点的所有直接子节点,以生成器方式输出

from bs4 import BeautifulSoup
import lxml
import requests

headers ={
   
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}

response = requests.get('https://www.baidu.com/',headers=headers)
html = response.text
soup = BeautifulSoup(html,'lxml')
print(type(soup.title))
print(soup.title.string)
print(soup.head)
print(soup.p)#当有多个节点时,只会选择第一个节点的内容

Ⅱ,提取信息
①提取名称
name属性:
获取节点名称

from bs4 import BeautifulSoup
import lxml
import requests

headers ={
   
    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>