基于pycharm的beautifulsoup4库使用方法教程
作者:雾里看花花里看雾? 发布时间:2022-12-05 22:47:05
1.beautifulsoup4库安装
第一步:在控制台输入如下命令,安 * eautifulsoup4库。
pip install beautifulsoup4
第三步:在pycharm
中,点击file
——settings
——project
——python interpreter
——点击+号——搜索beautifulsoup4
——install package!
这样就可以在.py文件中导入模块了!
2.beautifulsoup4库使用
import requests
# 虽然库名叫做beautiful4 但是在导入时 使用的是其缩写bs4 其中BeautifulSoup是一个类名
from bs4 import BeautifulSoup
url = 'https://www.baidu.com/s?'
# 由于一般网站都是供用户访问 如果检测到User-Agent是黑客或者其他可能拒绝访问 故此处模拟浏览器
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
# 以防乱码 此处将其编码设置为utf-8 因为有中文
response.encoding = 'utf-8'
# print(response.text)
# 使用的解析器是html.parser 注意是.奥
soup = BeautifulSoup(response.text, 'html.parser')
# 打印解析后的结果
print(soup.prettify())
需要讲解的都在代码注释中了奥!
3.beautifulsoup4库基本元素
beautifulsoup4
库是解析、遍历、维护“标签树”的功能库。
首先来看BeautifulSoup
库解析器,前两个比较常用!
在上述代码的基础上,增加如下几行,结合基本元素的使用,可得到如图所示。
需要注意的是,.string
可以跨标签,所以很有可能结果也为注释,为了区分是标签内的字符串还是注释,可以通过打印类型来判断。
接下来,看一下BeautifulSoup
库的遍历,其中画红框的迭代遍历,可以用于for in循环中。
4.beautifulsoup4库的HTML查找方法
find_all( name , attrs , recursive , string , **kwargs )
find_all()
方法搜索当前tag
的所有tag
子节点,并判断是否符合过滤器的条件。
name
参数可以对名字为 name 的标签进行检索。
attrs参数可以对标签属性值为attrs的标签进行检索。
recursive参数表示是否对子孙全部检索,默认是TRUE,如果只想搜索当前节点的儿子信息,可以置其为FALSE。
string 参数可以标签中的字符串内容进行检索。
5.补充Json(Javascript Object Notation)
我们学过js的或者java的,应该对Json不陌生吧!
Json是一种有类型的键值对!
需要注意的是,键和值都需要用"“括起来,如果值是整数,则可以不用”"!
如果值是多值,则可以用[,];如果值是键值对,则可以用{:,:,},可以嵌套使用。
JSON一般用于接口,而YAML是无类型键值对,一般用于配置文件。
来源:https://blog.csdn.net/qq_43779149/article/details/122500994


猜你喜欢
- 此程序为先调用opencv自带的人脸检测模型,检测到人脸后,再调用我自己训练好的模型去识别人脸,使用时更改模型地址即可#!usr/bin/e
- 矩阵增加行np.row_stack() 与 np.column_stack()import numpy as npa = np.array(
- 目录Python3 面向对象一丶面向对象技术简介对象可以包含任意数量和类型的数据。2.Python面向对象的三大特性一、继承 二、
- 一、 QingScan介绍QingScan是一个安全工具整合系统,解决你平时使用各种工具一个个打 开填写扫描目标的麻烦过程;QingScan
- vue2.0里,不再有自带的过滤器,需要自己定义过滤器。定义的方法如下: 注册一个自定义过滤器,它接收两个参数:过滤器 ID 和过滤器函数。
- keras 深度学习框架中get_value函数运行越来越慢,内存消耗越来越大问题问题描述如上图所示,经过时间和内存消耗跟踪测试,发现是ke
- 在使用pymongo时遇到了一个小坑:在Flask框架中,将字典插入mongodb后再返回就报错@app.route('xxxx
- 使用 Microsoft® SQL Server™ 2000,可以选择在一台计算机上安装 SQL Ser
- 大家好,我是J哥。在我们的工作中,面临着大量的重复性工作,通过人工方式处理往往耗时耗力易出错。而Python在自动化办公方面具有极大的优势,
- 本文实例讲述了php测试kafka项目。分享给大家供大家参考,具体如下:概述Kafka是最初由Linkedin公司开发,是一个分布式、分区的
- vue + iview 实现一个手机分段的提示框,知识点还没总结,供大家参考,具体内容如下<template> &l
- 下面主要通过代码给大家展示下javascript记住用户名和登录密码,具体代码内容请看下文。第一种方式:CONTENT  
- 一.页面样式二.数据库 三.前端页面代码 <template> <el-tree :props="pr
- 说明:MySQL 为了数据库的安全性默认在链接中断或者错误时记录错误链接的ip 等信息(host_cache),有点像系统的错误日志的一种机
- 两年前发表的《The visual design of Web 2.0》中提到“Rounded everything”,圆角因使人感觉舒适的
- 前言由于Django是 * 站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,1.
- 有的时候我们在学习或者工作中会使用到SQL语句,那么介绍一下limit和offset的使用方法。mysql limit与offset用法my
- 环境:Python+keras,后端为Tensorflow训练集:MNIST对于如何训练一个识别手写数字的神经网络,网上资源十分丰富,并且能
- 目的描述:为了让没有安装Python的人也能使用我们编写的.py文件,我们需要将编写好的Python程序生成.exe文件。第一步 下载pyi
- python十进制转二进制python中十进制转二进制使用 bin() 函数。bin() 返回一个整数 int 或者长整数 long int