python爬虫8:bs4库

这篇具有很好参考价值的文章主要介绍了python爬虫8:bs4库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python爬虫8:bs4库

前言

​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。

申明

​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好影响。

目录结构

1. 概述与安装

​ bs4是BeautifulSoup4的简称,它是一个可以从HTML中提取数据的Python第三方库,也是我们将要讲解的第二个解析库,除此之外,还有常用的pyquery(主要通过css语法来获取,我们不讲解,因为需要学习过前端的css)、re(正则表达式库,基础库,但是用于爬虫里比较麻烦,因此也不讲解)

​ 其安装非常简单:

pip install Beautifulsoup4

2. 解析器

​ 对于bs4这个库来说,我们主要使用的是BeautifulSoup对象,使用方法如下:

# 导包
from bs4 import BeautifulSoup
# 创建对象
soup = BeautifulSoup()
print(type(soup))

# 结果为:
# <class 'bs4.BeautifulSoup'>

​ 而BeautifulSoup在解析网页的时候依赖于其他的解析器,如我们之前讲解过的lxml等等。下面给出常见的四种解析器:Python标准库、lxml解析器、xml解析器、html5lib解析器。上面四种解析器各有优点也有缺点,其中最常用的就是lxml,因为其解析速度和容错性都比较好。

​ 下面给出四种解析器的优缺点:

解析器 优点 缺点
Python标准库 python内置标准库,执行速度适中,文档容错强 python2.x与python3.2.2之前的版本容错能力差
lxml 速度快、容错能力强 需要安装C语言库
xml 速度快,唯一支持XML文档的解析器 需要安装C语言库
html5lib 最好的容错性 速度慢

什么是容错性?

​ 这里解释一下,什么是容错性。我们有时候传给BeautifulSoup的网页源代码并不完整,或者说格式不标准,其中常见的如:table标签的写法,table标签现在一般都采取的简写的方式,而不是标准的写法。这时,不同的解析器就有不同的容错性,或者说对于修正性。

3. 方法讲解

3.1 第一个例子

​ 下面给出bs4的一个小小例子,让大家有一个印象:

from bs4 import BeautifulSoup

text = '''
<div class="classify clearfix">
    <a href="/4kfengjing/" title="4K风景图片">4K风景</a>
    <a href="/4kmeinv/" title="4K美女图片">4K美女</a>
    <a href="/4kyouxi/" title="4K游戏图片">4K游戏</a>
    <a href="/4kdongman/" class="curr" title="4K动漫图片">4K动漫</a>
    <a href="/4kyingshi/" title="4K影视图片">4K影视</a>
    <a href="/4kmingxing/" title="4K明星图片">4K明星</a>
    <a href="/4kqiche/" title="4K汽车图片">4K汽车</a>
    <a href="/4kdongwu/" title="4K动物图片">4K动物</a>
    <a href="/4krenwu/" title="4K人物图片">4K人物</a>
    <a href="/4kmeishi/" title="4K美食图片">4K美食</a>
    <a href="/4kzongjiao/" title="4K宗教图片">4K宗教</a>
    <a href="/4kbeijing/" title="4K背景图片">4K背景</a>
</div>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 提取出 所有类名
tag_list = soup.find_all('a')
for tag in  tag_list:
    print(tag.text)

​ 结果为:

4K风景
4K美女
4K游戏
4K动漫
4K影视
4K明星
4K汽车
4K动物
4K人物
4K美食
4K宗教
4K背景
3.2 初始化

​ 跟lxml一样,第一个步骤仍然是初始化,这个步骤是固定的,就不多说了,代码如下:

from bs4 import BeautifulSoup
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# text为html源码,字符串格式
3.3 通过标签名来获取元素

​ 第一个选择元素的方法,如下示例;

from bs4 import BeautifulSoup

text = '''
<div class="classify clearfix">
    <a href="/4kfengjing/" title="4K风景图片">4K风景</a>
    <a href="/4kmeinv/" title="4K美女图片">4K美女</a>
    <a href="/4kyouxi/" title="4K游戏图片">4K游戏</a>
    <a href="/4kdongman/" class="curr" title="4K动漫图片">4K动漫</a>
    <a href="/4kyingshi/" title="4K影视图片">4K影视</a>
    <a href="/4kmingxing/" title="4K明星图片">4K明星</a>
    <a href="/4kqiche/" title="4K汽车图片">4K汽车</a>
    <a href="/4kdongwu/" title="4K动物图片">4K动物</a>
    <a href="/4krenwu/" title="4K人物图片">4K人物</a>
    <a href="/4kmeishi/" title="4K美食图片">4K美食</a>
    <a href="/4kzongjiao/" title="4K宗教图片">4K宗教</a>
    <a href="/4kbeijing/" title="4K背景图片">4K背景</a>
</div>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 方法一
result = soup.div
print(type(result))
print('-'*50)
print(result)

​ 结果如下:

<class 'bs4.element.Tag'>
--------------------------------------------------
<div class="classify clearfix">
<a href="/4kfengjing/" title="4K风景图片">4K风景</a>
<a href="/4kmeinv/" title="4K美女图片">4K美女</a>
<a href="/4kyouxi/" title="4K游戏图片">4K游戏</a>
<a class="curr" href="/4kdongman/" title="4K动漫图片">4K动漫</a>
<a href="/4kyingshi/" title="4K影视图片">4K影视</a>
<a href="/4kmingxing/" title="4K明星图片">4K明星</a>
<a href="/4kqiche/" title="4K汽车图片">4K汽车</a>
<a href="/4kdongwu/" title="4K动物图片">4K动物</a>
<a href="/4krenwu/" title="4K人物图片">4K人物</a>
<a href="/4kmeishi/" title="4K美食图片">4K美食</a>
<a href="/4kzongjiao/" title="4K宗教图片">4K宗教</a>
<a href="/4kbeijing/" title="4K背景图片">4K背景</a>
</div>

​ 可见,这种方法的语法形式为: xxx.Tag_name。这种选择还支持嵌套选择,如下:

# 为了大家方便,省略了相同的代码,下面只给出需要修改的代码
# 修改之前:result = soup.div
# 修改之后:
result = soup.div.a

​ 结果为::

<class 'bs4.element.Tag'>
--------------------------------------------------
<a href="/4kfengjing/" title="4K风景图片">4K风景</a>

​ 可见,当有多个符合条件的标签时,选择第一个符合的标签。

缺点:选择性很低,无法增加附加条件进行更深层次的筛选。

​ 小小的总结一下:

1.  xxx.Tag_name
2.  当有多个符合条件的标签时,选择第一个符合的标签。
3.4 通过属性来获取元素

​ 主要依靠一些属性来获取,如:contents、children、descendants等等。下面一一讲解其作用:

子节点

​ 属性: contents、children

作用: 获取目标的直接子节点

​ 注意:contents返回的是列表,而children返回的是生成器。

​ 比如:

from bs4 import BeautifulSoup

text = '''
<div class="classify clearfix">
    <a href="/4kfengjing/" title="4K风景图片">4K风景</a>
    <a href="/4kmeinv/" title="4K美女图片">4K美女</a>
    <a href="/4kyouxi/" title="4K游戏图片">4K游戏</a>
    <a href="/4kdongman/" class="curr" title="4K动漫图片">4K动漫</a>
    <a href="/4kyingshi/" title="4K影视图片">4K影视</a>
    <a href="/4kmingxing/" title="4K明星图片">4K明星</a>
    <a href="/4kqiche/" title="4K汽车图片">4K汽车</a>
    <a href="/4kdongwu/" title="4K动物图片">4K动物</a>
    <a href="/4krenwu/" title="4K人物图片">4K人物</a>
    <a href="/4kmeishi/" title="4K美食图片">4K美食</a>
    <a href="/4kzongjiao/" title="4K宗教图片">4K宗教</a>
    <a href="/4kbeijing/" title="4K背景图片">4K背景</a>
</div>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦

# 方法二
print(type(soup.div.contents))
for child in soup.div.contents:
    print(child)

​ 结果为:

<class 'list'>
<a href="/4kfengjing/" title="4K风景图片">4K风景</a>
<a href="/4kmeinv/" title="4K美女图片">4K美女</a>
<a href="/4kyouxi/" title="4K游戏图片">4K游戏</a>
<a class="curr" href="/4kdongman/" title="4K动漫图片">4K动漫</a>
<a href="/4kyingshi/" title="4K影视图片">4K影视</a>
<a href="/4kmingxing/" title="4K明星图片">4K明星</a>
<a href="/4kqiche/" title="4K汽车图片">4K汽车</a>
<a href="/4kdongwu/" title="4K动物图片">4K动物</a>
<a href="/4krenwu/" title="4K人物图片">4K人物</a>
<a href="/4kmeishi/" title="4K美食图片">4K美食</a>
<a href="/4kzongjiao/" title="4K宗教图片">4K宗教</a>
<a href="/4kbeijing/" title="4K背景图片">4K背景</a>

子孙节点:

​ 属性: descendants

作用: 获取目标的所有子孙元素

​ 返回值: 生成器

​ 比如:

from bs4 import BeautifulSoup
text = '''
<ul class="clearfix">
    <li>
        <a href="/tupian/26783.html" target="_blank">
            <img src="/uploads/allimg/210122/210154-16113205145cce.jpg" alt="动漫女孩 黑发 露肩 4k壁纸3840x2160" />
            <b>动漫女孩 黑发 露肩 4k壁</b>
        </a>
    </li>
    <li>
        <a href="/tupian/26780.html" target="_blank">
            <img src="/uploads/allimg/210122/195550-1611316550c9d7.jpg" alt="古风 美少女 伞 长发 女孩大长腿4k唯美动漫壁纸" />
            <b>古风 美少女 伞 长发 女</b>
        </a>
    </li>
    <li>
        <a href="/tupian/24695.html" target="_blank">
            <img src="/uploads/allimg/190824/212516-1566653116f355.jpg" alt="下午 趴在桌子的女孩4k动漫壁纸3840x2160" />
            <b>下午 趴在桌子的女孩4k动</b>
        </a>
    </li>
</ul>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦

# 方法二
print(type(soup.ul.descendants))
for child in soup.ul.descendants:
    print(child)

​ 结果:

<class 'generator'>

# 显示其中一个结果
# 从下面可以看出,一一获取里面所有的值

<li>
<a href="/tupian/26783.html" target="_blank">
<img alt="动漫女孩 黑发 露肩 4k壁纸3840x2160" src="/uploads/allimg/210122/210154-16113205145cce.jpg"/>
<b>动漫女孩 黑发 露肩 4k壁</b>
</a>
</li>

<a href="/tupian/26783.html" target="_blank">
<img alt="动漫女孩 黑发 露肩 4k壁纸3840x2160" src="/uploads/allimg/210122/210154-16113205145cce.jpg"/>
<b>动漫女孩 黑发 露肩 4k壁</b>
</a>

<img alt="动漫女孩 黑发 露肩 4k壁纸3840x2160" src="/uploads/allimg/210122/210154-16113205145cce.jpg"/>

<b>动漫女孩 黑发 露肩 4k壁</b>
动漫女孩 黑发 露肩 4k壁

父节点:

​ 属性: parent

​ 作用: 获取目标节点的父节点

祖先节点:

​ 属性: parents

​ 作用: 获取目标节点的所有祖先节点

​ 返回值: 生成器

兄弟节点:

​ 属性1 : next_sibling

​ 作用: 获取下一个兄弟节点

​ 属性2 : previous_sibling

​ 作用: 获取上一个兄弟节点

​ 属性3: next_siblings

​ 作用: 获取下面的所有兄弟节点

​ 属性4: previous_siblings

​ 作用: 获取之前的所有兄弟节点

3.5 通过find方法来获取元素(常用)

find_all()方法:

​ 作用: 查询出所有符合条件的元素

​ 常用参数: name、attrs、text

​ 参数讲解:

  • name : 想要获取的节点的节点名字
  • attrs: 想要获取的节点的属性,根据这个属性来筛选,接收字典
  • text: 可以指定正则表达式或者字符串,去匹配元素的内容

​ 示例一:name 和 attrs 的配合使用

from bs4 import BeautifulSoup
text = '''
<ul class="clearfix">
    <li>
        <a class="hello" href="/tupian/26783.html" target="_blank">你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
        <a class="black" href="/tupian/26783.html" target="_blank">黑彩</a>
    </li>
</ul>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 筛选出白菜
result_list = soup.find_all('a',attrs={'class':'white'})
print(type(result_list))
print('-'*50)
for result in result_list:
    print(result)

​ 结果:

<class 'bs4.element.ResultSet'>
--------------------------------------------------
<a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
<a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
<a class="white" href="/tupian/26783.html" target="_blank">白菜</a>
<a class="white" href="/tupian/26783.html" target="_blank">白菜</a>

​ 示例二: text的使用

import re
from bs4 import BeautifulSoup
text = '''
<ul class="clearfix">
    <li>
        <a class="hello" href="/tupian/26783.html" target="_blank">你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,我是黑菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">我是一个小白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">大白菜</a>
        <a class="black" href="/tupian/26783.html" target="_blank">黑彩</a>
    </li>
</ul>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 筛选出白菜
result_list = soup.find_all(text=re.compile(r'白菜'))
for result in result_list:
    print(result)

​ 结果为:

白菜,你好,我是黑菜
白菜,你好,你好
我是一个小白菜
大白菜

find()方法:

​ 作用: 返回第一个匹配成功的元素

find_parents()和find_parent():

​ find_parents():返回所有的祖先节点

​ find_parent():返回直接父节点

find_next_siblings()和find_next_sibling():

​ find_next_siblings(): 返回后面所有的兄弟节点

​ find_next_sibling(): 返回下一个兄弟节点

find_previous_siblings()和find_previous_sibling():

​ find_previous_siblings(): 返回之前的所有的兄弟节点

​ find_previous_sibling(): 返回上一个兄弟节点

3.6 通过css语法获取元素

​ 如果你学过css,那么你也可以采取css来写,不过我建议你选择pyquery模块来写css,因为pyquery专门使用css来解析网页

​ 写法:

xxx.select('css代码 ')

​ 作用:

返回所有符合css条件的元素

​ 示例:

from bs4 import BeautifulSoup
text = '''
<ul class="clearfix">
    <li>
        <a class="hello" href="/tupian/26783.html" target="_blank">你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,我是黑菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">我是一个小白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">大白菜</a>
        <a class="black" href="/tupian/26783.html" target="_blank">黑彩</a>
    </li>
</ul>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 筛选出白菜
result_list = soup.select('.white')
for result in result_list:
    print(result)

​ 结果如下:

<a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,我是黑菜</a>
<a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,你好</a>
<a class="white" href="/tupian/26783.html" target="_blank">我是一个小白菜</a>
<a class="white" href="/tupian/26783.html" target="_blank">大白菜</a>
3.7 获取信息

​ 元素筛选成功后,我们需要获取元素的一定信息,如:文本信息、属性信息等等。

获取文本信息:

xxx.string:
	用来获取目标路径下第一个非标签字符串,得到的是个字符串

xxx.stings:
	用来获取目标路径下所有的子孙非标签字符串,返回的是个生成器

xxx.stripped_strings:
	用来获取目标路径下所有的子孙非标签字符串,会自动去掉空白字符串,返回的是一个生成器
	
xxx.get_text():
	用来获取目标路径下的子孙字符串,返回的是字符串(包含HTML的格式内容)

​ 示例:

from bs4 import BeautifulSoup
text = '''
<ul class="clearfix">
    <li>
        <a class="hello" href="/tupian/26783.html" target="_blank">你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,我是黑菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">我是一个小白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">大白菜</a>
        <a class="black" href="/tupian/26783.html" target="_blank">黑彩</a>
    </li>
</ul>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 筛选出白菜
tag = soup.find('li')
print(tag.string)
print(list(tag.strings))
print(list(tag.stripped_strings))
print(tag.get_text())	

​ 结果如下:

None
['\n', '你好', '\n', '白菜,你好,我是黑菜', '\n', '白菜,你好,你好', '\n', '我是一个小白菜', '\n', '大白菜', '\n', '黑彩', '\n']
['你好', '白菜,你好,我是黑菜', '白菜,你好,你好', '我是一个小白菜', '大白菜', '黑彩']

你好
白菜,你好,我是黑菜
白菜,你好,你好
我是一个小白菜
大白菜
黑彩

获取属性信息:

xxx.attrs['属性名字']

xxx['属性名字']

​ 示例:

from bs4 import BeautifulSoup
text = '''
<ul class="clearfix">
    <li>
        <a class="hello" href="/tupian/26783.html" target="_blank">你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,我是黑菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">白菜,你好,你好</a>
        <a class="white" href="/tupian/26783.html" target="_blank">我是一个小白菜</a>
        <a class="white" href="/tupian/26783.html" target="_blank">大白菜</a>
        <a class="black" href="/tupian/26783.html" target="_blank">黑彩</a>
    </li>
</ul>
'''
soup = BeautifulSoup(text,'lxml')   # 需要安装lxml库哦
# 筛选出白菜
tag_list = soup.find_all('a')
tag_attr_list_one = [tag.attrs['class'] for tag in tag_list]
tag_attr_list_two = [tag['class'] for tag in tag_list]
print(tag_attr_list_one)
print('-'*50)
print(tag_attr_list_two)

​ 结果:

[['hello'], ['white'], ['white'], ['white'], ['white'], ['black']]
--------------------------------------------------
[['hello'], ['white'], ['white'], ['white'], ['white'], ['black']]

4. 总结

​ 本篇讲解了第二个解析库bs4,当然其实大家不需要了解那么多的解析库,会一两个即可,因此本系列也只讲解lxml、bs4这两个用到最多的解析库,其他的比如pyquery、re都可以自己去学习。

​ 下一篇会将之前的小说实战重新采用bs4来解析。文章来源地址https://www.toymoban.com/news/detail-659019.html

到了这里,关于python爬虫8:bs4库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫学习笔记(六)————BeautifulSoup(bs4)解析

    目录 1.bs4基本简介 (1)BeautifulSoup简称 (2)什么是BeatifulSoup? (3)优缺点 2.bs4安装以及创建 (1)安装          (2)导入          (3)创建对象 3.节点定位 (1)根据标签名查找节点 (2)函数         ①find(返回一个对象)         ②find_all(返回一个列表

    2024年02月17日
    浏览(57)
  • python爬虫数据解析xpath、jsonpath,bs4

    解析数据的方式大概有三种 xpath JsonPath BeautifulSoup 打开谷歌浏览器扩展程序,打开开发者模式,拖入插件,重启浏览器,ctrl+shift+x,打开插件页面 安装在python环境中的Scripts下边,这里就是python库的位置,例如我的地址为:E:pythonpython3.10.11Scripts 解析本地文件etree.parse( \\\'xx.

    2024年02月13日
    浏览(46)
  • Python爬虫之Requests库、BS4解析库的下载和安装

    一、Requests库下载地址 requests · PyPI 将下载的.whl文件放在Script目录下  win+r 输入cmd 进入windows控制台 进入到Scripts目录 输入pip3.10 install requests-2.28.1-py3-none-any.whl(文件的名称) 出现Successful install即安装成功  二、BS4解析库的下载和安装 进入到scripts目录 pip install bs4 由于 BS4

    2024年02月05日
    浏览(43)
  • 【用Vscode实现简单的python爬虫】从安装到配置环境变量到简单爬虫以及python中pip和request,bs4安装

    第一步:安装python包  可以默认,也可以选择自己想要安装的路径 python下载资源链接: Download Python | Python.org 第二步: 配置python环境变量,找到我的电脑-属性-高级-环境变量 找到python,新增 然后将刚刚安装的路径配置到path路径下: 特别注意,配置了环境变量后要进行重启电

    2024年02月15日
    浏览(54)
  • Python爬虫|基础知识点详细汇总(requests、urllib、re、bs4、xpath、PyQuery、jsonpath、多线程、协程、数据保存、selenium)

    1. 请求数据 ① requests (1) 基本使用 参数 对响应内容的操作 (2) Requests进阶:使用Session 为什么要用 Session? Session代表服务器与浏览器的一次会话过程,Session对象存储了特定用户会话所需的信息 例如:一定时间内记录账号密码 (自动登录) 可以加快 requests请求速度 需要客户端登录的

    2023年04月08日
    浏览(56)
  • python的bs4模块

    Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。Beautiful Soup 语法简单,使用方便,并且容易理解,因此您可以快速地学习并掌握它。 而 html.parser 表示解析文档时所用的解析器,此处的解析器也可以是 ‘l

    2024年02月07日
    浏览(40)
  • 【问题解决】python安装bs4后,仍然报错 ModuleNotFoundError: No module named ‘bs4‘

    我这里是windows上使用出现的问题: 使用 python3.7 : pip install bs4 后 Python37Libsite-packages 文件夹下只有 bs4-0.0.1-py3.7.egg-info ,没有 bs4 文件夹(安装过程中会有,但是安装完成后被删除了)。 会同时安装 BeautifulSoup4 ,相当于执行 pip install BeautifulSoup4 ,生成了 beautifulsoup4-4.12.0

    2024年02月03日
    浏览(42)
  • python---------bs4爬取数据的一种神器

     欢迎小可爱们前来借鉴我的gtieehttps://gitee.com/qin-laoda Beautiful Soup的简介 解析⼯具对⽐ BeautifulSoup的基本使⽤ 解析器 搜索⽂档树 CSS常⽤选择器介绍 select和css选择器提取元素 _______________________________________________ 前面我已经介绍了正则表达式,下面我们来介绍bs4 Beautiful Soup是py

    2024年02月09日
    浏览(46)
  • Python中bs4的soup.find()和soup.find_all()用法

    我们在使用python对网页爬虫的时候,经常会得到一些html数据,因此我们就会利用soup.find()和soup.find_all()方法来筛选出想要的数据。  1.1利用name来查找 代码如下:  结果如下: h1 class=\\\"item\\\" id=\\\"x1\\\"蔡x坤/h1 1.2利用属性attrs来寻找 代码如下: 结果如下:  div class=\\\"item\\\" id=\\\"x3\\\" span你干

    2024年03月20日
    浏览(42)
  • 解析库bs4的使用

    安装: pip3 install Beautifulsoup4 1.bs4遍历文档树 bs4:解析xml格式的模块,从xml中找想要的数据。 html是xml的一种,解析html,使用requests返回的数据,可能是json、html、文件,再使用bs4解析html格式。 用法: 注:lxml比html.parser速度块,但是需要安装lxml模块( pip3 install lxml ) 2.bs4搜

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包