预备知识点
compile 函数
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
语法格式为:
re.compile(pattern[, flags]) .compile(pattern[, flags])
参数:
pattern : 一个字符串形式的正则表达式
flags 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
re.I 忽略大小写
re.L 表示特殊字符集 \\w, \\W, \\b, \\B, \\s, \\S 依赖于当前环境
re.M 多行模式
re.S 即为\' . \'并且包括换行符在内的任意字符(\' . \'不包括换行符)
re.U 表示特殊字符集 \\w, \\W, \\b, \\B, \\d, \\D, \\s, \\S 依赖于 Unicode 字符属性数据库
re.X 为了增加可读性,忽略空格和\' # \'后面的注释
检索和替换
Python 的re模块提供了re.sub用于替换字符串中的匹配项。
语法:
re.sub(pattern, repl, string, count=0) .sub(pattern, repl, string, count=0)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
Python中字符串前面加上 r 表示原生字符串, 与大多数编程语言相同,正则表达式里使用\"\\\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符\"\\\",那么使用编程语言表示的正则表达式里将需要4个反斜杠\"\\\\\\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式可以使用r\"\\\\\"表示。同样,匹配一个数字的\"\\\\d\"可以写成r\"\\d\"。有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。
思路整理:
在编程过程中遇到的部分问题在这里写出来和大家共享
问题1:在编程过程中成功获取了目标的名字,但是它存在于div框架中,我们要做的就是将div中的文字与标签分开,在这里我们用的是正则表达式
问题2:
上代码:
<span style=\"color:#000000\"># -*- coding: UTF-8 -*-
import requests
import time
import re
from bs4 import BeautifulSoup
from urllib.request import urlretrieve
if __name__ == \'__main__\':
list_url = []
url = \'https://www.names.org/n/kevin/about\'
#设置请求头信息
headers = {
\"User-Agent\":\"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36\"
}
req = requests.get(url=url,headers=headers)
req.encoding=\'utf-8\'
html=req.text
bf = BeautifulSoup(html,\'html.parser\')
targets_url_1 = bf.find_all(class_=\'container page-section\')
bf = BeautifulSoup(str(targets_url_1),\'html.parser\')
targets_url_2 = bf.find_all(class_=\'name\')
#保存名字链接
for each in targets_url_2:
list_url.append(re.sub(\'[\\t\\n]\',\"\",re.sub(r\'<[^>]+>\',\"\",str(each))))
f = open(\'test.txt\', \'w\') #首先先创建一个文件对象,打开方式为w
for each in list_url:
f.writelines(each) #用readlines()方法写入文件
f.writelines(\'\\n\')
print(list_url)
print(\'下载完成!\')
</span>
以上这篇Python 获取div标签中的文字实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
-
StartDT AI Lab | 视觉智能引擎——AI识货赋能商品数字化
2026-05-18栏目: 教程
-
【DockerCon2017技术解读】如何在阿里云一键部署高可用的Kubernetes集群
2026-05-18栏目: 教程
-
基于Jenkins的开发测试全流程持续集成实践
2026-05-18栏目: 教程
-
什么是网络爬虫?有什么用?怎么爬?终于有人讲明白了
2026-05-18栏目: 教程
-
11个点让你的Spring Boot启动更快
2026-05-18栏目: 教程
