一些在使用Python中常用网页字符串处理方法

news2024/11/15 4:59:28

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

首先一些Python字符串处理的简易常用的用法。

1.去掉重复空格
s = "hello   hello   hello"
s = ' '.join(s.split())
2.去掉所有回车(或其他字符或字符串)
s = "hello\nhello\nhello hello\n"
print(s)
s = s.replace("\n","")
print(s)
3.查找字符串首次出现的位置(没有返回-1)
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
s = "hello\nhello\nhello hello\n"
print(s.find('\n'))
print(s.find('la'))
4.查找字符串从后往前找首次出现的位置(没有返回-1)
s = "hello\nhello\nhello hello\n"
print(s.rfind('\n'))
print(s.rfind('la'))
5.将字符串转化成列表list
s = "hello\nhello\nhello hello\n"
print(list(s))
6.查找所有匹配的子串
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import re

s = "hello\nhello\nhello hello\n"
print(re.findall('hello',s)) # hello也可以换成正则表达式

然后是网页字符串处理的高端用法:

综合运用requests模块,beautifulsoup模块,re模块等

1.requests获取一个链接的内容并原封不动写入文件
import requests

r = requests.get('https://baike.baidu.com')
with open('test.html', 'wb') as fd:
    for chunk in r.iter_content(100):
        fd.write(chunk)
2.读取一个文件的所有内容存到一个字符串里
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
with open('test.html','r',encoding='utf-8') as f:
    content = f.readlines()
content = ''.join(content)
# content = content.replace('\n','') # 如果想去掉回车可以加上这行
print(content)
3.把网页字符串用BeautifulSoup存起来处理
from bs4 import BeautifulSoup

soup = BeautifulSoup(content,'html.parser')
print(soup.prettify())
4.存到BeautifulSoup里之后这个字符串就可以任你摆布了,比如:提取出所有标签
soup = BeautifulSoup(content,'html.parser')
print(soup.find_all('a'))

或者提取出所有标签和标签

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
soup = BeautifulSoup(content,'html.parser')
print(soup.find_all(['a','b']))

这些属于beautifulsoup的内容了

5.多个关键字切分字符串
import re
re.split('; |, ',str)

>>> a='Beautiful, is; better*than\nugly'
>>> import re
>>> re.split('; |, |\*|\n',a)
['Beautiful', 'is', 'better', 'than', 'ugly']

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1248156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅析linux中的信号

人们往往将信号称为“软件中断”,它提供了异步事件的处理机制,这些事件可以来自系统外部(如用户按下ctrlc产生中断符),也可能来自程序或者内核内部的执行动作(如进程除零操作)。进程收到信号&am…

老生常谈 - 从输入URL到页面加载的过程(详细版)

从输入URL到页面加载的过程 之前一直都是直接看一下总结的八股文章,对于实际的整个链路并不是特别熟悉,这次花了一天多的时间看了很多资料,对于整个页面加载的流程有了自己的理解,从前端开始访问的浏览器多线程、缓存等问题&#…

在华为昇腾开发板安装gdal-python

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 在华为昇腾开发板安装gdal-python分为两步:编译gdal库和下载gdal对应的python包。 1.编译gdal库 首先下载gdal库,。在linux(arm架构)上编译的gdal库及其第三方库源码,内含一个编译…

100%纯血鸿蒙来了,Android程序员影响甚大

“纯血鸿蒙”来了! 近日,美团、网易、今日头条、钉钉等多家互联网头部企业密集发布对鸿蒙系统相关人才的招聘信息,再度引爆市场对“纯血鸿蒙”的热议。 操作系统之“国货之光” 自2019年8月发布至今,鸿蒙系统已经更新到4.0版本…

为医药数据建起坚不可摧的堡垒——上海迅软DSE终端防泄密的力量!

某医药公司是一家综合性的医药产业公司,具有一定的规模和实力。其经营范围大范围,涉及到多个领域,包括药品、医药器械等的批发零售以及相关的互联网信息服务等。该公司在人员配置和知识产权方面也具备一定的优势,为其在医药产业的…

实验题【网关设置+VRRP+静态路由+OSPF】(H3C模拟器)

嘿,这里是目录! ⭐ H3C模拟器资源链接1. 实验示意图2. 要求和考核目标3. 当前配置3.1 PC1、PC2、PC3、PC4和PC5配置3.2 SW配置3.2.1 SW2配置3.2.2 SW3配置3.2.3 SW4配置3.2.4 SW1配置 3.2. R配置3.2.1 R1配置3.2.2 R2配置 ⭐ H3C模拟器资源链接 H3C网络…

SQL常见函数整理 _ LAG() 向上偏移

1. 用法 窗口函数,用于访问窗口中当前行之前的行的数据。该函数可以根据需要计算当前行之前的值,使我们能够轻松地比较不同行之间的差异和变化。 2. 基本语法 LAG(column, offset, default_value) OVER (ORDER BY column)column:代表在返回…

【Django笔记】10大模块md文档第6篇:Django视图、Cookie和session状态、模板和过滤器

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展…

H5ke12--2--学生选课表格的编辑

方法1不可以修改的用label,如何按了哪一行 就会在下面有个文本显示可编辑的一行 方法2每一行后面都有一个编辑, 3对每一个修改,每一个td失去焦点都会有,直接到达我们服务器 注意 如果用span的每一个html元素都可以自己定义属性 Data-属性名,data-Address links也要给为span 1…

当班主任工资会高一些吗?

很多人在选择职业的时候,都会考虑到工资这一方面。而班主任这个职业,往往被认为是一种高收入的工作。那么,班主任的工资真的会比其他科任老师高吗? 班主任除了教学任务之外,还要负责管理班级的日常事务,包括…

Python入门03变量

目录 1 什么是变量2 变量声明3 变量命名规则4 变量类型5 类型转换总结 1 什么是变量 编程语言中变量就像容器一样,可以用来存放东西 我的变量就像杯子一样,可以用来盛放各种饮料。在Python中变量用来存放各种各样的数据,比如整数、浮点数、…

transformer训练与推理

以下transformer基于中译英任务 数据集原本的目标语言标签dec添加完padding后, 如果在dec前面加一个S构成了dec_input,而如果在dec后面加一个E构成了dec_output(输出的标签) attention 有两种,self attention(encoder里面的是源语言输入句子…

基于Springboot的冬奥会科普平台(有报告),Javaee项目,springboot项目。

演示视频: 基于Springboot的冬奥会科普平台(有报告),Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层…

jetson NX部署Yolov8

一,事情起因,由于需要对无人机机载识别算法进行更新,所以需要对yolov8算法进行部署到边缘端。 二,环境安装 安装虚拟环境管理工具,这个根据个人喜好。 我们需要选择能够在ARM架构上运行的conda,这里我们选择conda-forge 下载地址 安装即可 剩下的就是和conda 创建虚拟…

【Vue】vue指令

目录 V-html v-show和v-if v-show 显示 隐藏 v-if 显示 隐藏 总结 显示隐藏的应用场景 未登录的情况 登录的情况 v- else 和 v-else-if v-if 和v-else v-if 和 v-else-if 总结: v-on 语法一: 语法二: 调用传参 v-bind…

ruoyi-plus-vue部署

安装虚拟机 安装docker 安装docker 安装docker-compose 可能遇到的错误 Failed to deploy ruoyi/ruoyi-server:5.1.0 Dockerfile: ruoyi-admin/Dockerfile: Cant retrieve im age ID from build stream 安装 vim 命令 yum install vim -y 修改文件 vim /etc/resolv.conf …

1、Docker概述与安装

相关资源网站: ● docker官网:http://www.docker.com ● Docker Hub仓库官网: https://hub.docker.com/ 注意,如果只是想看Docker的安装,可以直接往下拉跳转到Docker架构与安装章节下的Docker具体安装步骤,一步步带你安…

set和map + multiset和multimap(使用+封装(RBTree))

set和map 前言一、使用1. set(1)、模板参数列表(2)、常见构造(3)、find和count(4)、insert和erase(5)、iterator(6)、lower_bound和upper_bound 2. multiset3. map(1)、模板参数列表(2)、构造(3)、modifiers和operations(4)、operator[] 4. multimap 二、封装RBTree迭代器原理R…

2023年P气瓶充装证模拟考试题库及P气瓶充装理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2023年P气瓶充装证模拟考试题库及P气瓶充装理论考试试题是由安全生产模拟考试一点通提供,P气瓶充装证模拟考试题库是根据P气瓶充装最新版教材,P气瓶充装大纲整理而成(含2023年P气瓶…

云原生基础概述

云原生的理解 在云原生这个概念还没流行起来的时候,公司开发了一款应用,这是「原生应用」,一般来说传统部署应用的方式都是通过购买物理的服务器,然后将需要上线的项目部署到物理服务器中跑起来。而购买物理机器,还要…