浅谈Python中的bs4基础
作者:回忆不说话 发布时间:2022-11-05 16:57:47
安装
在命令提示符框中直接输入pip install beautifulsoup4
介绍
beautifulsoup是python的一个第三方库,和xpath一样,都是用来解析html数据的。
引入
from bs4 import BeautifulSoup
使用
将一段文档传入BeautifulSoup的构造方法,就能得到一个文档的对象。
bs = BeautifulSoup(open('index.html',encoding='utf-8'),'lxml')
print(bs)
注意:这样上传文档的话,BeautifulSoup里面需要两个参数。一个为open方法,一个是固定写法,也就是解析器。
open方法里面也同样需要两个参数,一个是想要解析的数据,另一个为设置编码的格式。
(1)获取网页中的title标签
print(bs.title)
(2)获取head标签及标签内部的所有其他标签
print(bs.head)
(3)获取当中的第一个a标签
print(bs.a)
注意:获取文档当中所有的xx当中第一个xx或者第一个xx里面的内容。都可以用bs.xx来获取
(4)获取指定标签的所有属性
print(bs.a.attrs)
(5)获取标签的属性
print(bs.a['href'])
(6)获取标签的文本内容。
print(bs.a.string)
注意:string获取的文本指的是本标签的文本,不包含子标签的文本
(7)contents能够获取指定标签下面的所有内容。
print(bs.body.contents)
(8)获取所有内容当中指定索引的内容
print(bs.div.contents[3])
(9)通过id和类名来找标签
print(bs.find(id='kw'))
print(bs.find(class_='shopping'))
注意:id是唯一的,通过id来找,只能找到一个,所以用find,而class不是唯一的,通过class来找,就有可能找到多个。
(10)select选择指定的标签
print(bs.select('title'))
print(bs.select('a'))
在bs4中,小数点“.”表示类名,#表示id
print(bs.select('.first'))
print(bs.select('#kw'))
print(bs.select('div.now'))
来源:https://blog.csdn.net/qq_39138295/article/details/81290661
猜你喜欢
- 写完调用天气接口的demo之后,小程序调用天气接口并且渲染在页面,顺便再调用了一下美图的接口API:美图APIurlwxml:<vie
- 使用MySQL进行数据库备份,有很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的
- 客户端: <%@ Page Language="C#" AutoEventWireup="true&qu
- 在有些场景下,我们需要对我们的varchar类型的字段做修改,而修改的结果为两个字段的拼接或者一个字段+字符串的拼接。如下所示,我们希望将x
- 链表链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址。由于每个结
- 本文实例为大家分享了python遗传算法的具体代码,供大家参考,具体内容如下1、基本概念遗传算法(GA)是最早由美国Holland教授提出的
- 本文实例讲述了Python多线程操作之互斥锁、递归锁、信号量、事件。分享给大家供大家参考,具体如下:互斥锁:为什么要有互斥锁:由于多线程是并
- 本文实例讲述了python队列原理及实现方法。分享给大家供大家参考,具体如下:队列(queue)是只允许在一端进行插入操作,而在另一端进行删
- 最基本的抓取网页内容的代码实现:#!/usr/bin/env python from urllib import urlretrieve d
- 实现效果实现代码import matplotlib.pyplot as pltfrom skimage import iofile_name
- 前些天用python处理xml的转换的一个小程序,用来把xml,xsl转换成html。用的libxml2,所以还要先安装了libxml2模块
- 本文研究的主要是Python进程间通信Queue的相关实例,具体如下。1.Queue使用方法:Queue.qsize():返回当前队列包含的
- kmp算法kmp算法用于字符串的模式匹配,也就是找到模式字符串在目标字符串的第一次出现的位置比如abababc那么bab在其位置1处,bc在
- 我们用pyinstaller把朋友文件打包成exe文件,但有时候我们需要还原,我们可以用pyinstxtractor.py用法:python
- 使用v-on绑定自定义事件(一)基于webpack的项目初始化在使用之前,我们先使用npm构建一个vue应用,使该项目能很好地和webpac
- 昨天在写“同IP站点查询”工具的时候,需要先用ASP获取查询域名的IP,本来是用WSHSHELL组件,代码如下:<%@LANGUAGE
- tensorlfow网络模型可视化。baidu了一些方法,现在介绍下我的流程和遇到的问题:配置window7tensorlfow1.5ana
- 有些框架本身就支持多配置文件,例如Ruby On Rails,nodejs下的expressjs。python下的Flask虽然本身支持配置
- 目录1 摘要2 概述2.1 什么是并行计算?2.2 为什么要并行计算?2.3 谁都在使用并行计算?科学界和工程界:工业界和商业界:全球应用:
- 下面是十个Python中很有用的贴士和技巧。其中一些是初学这门语言常常会犯的错误。注意:假设我们都用的是Python 31. 列表推导式你有