Python 获取div标签中的文字实例


Posted in Python onDecember 20, 2018

预备知识点

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标签中的文字实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的choice()方法使用详解
May 15 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
python3调用R的示例代码
Feb 23 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 Python
Python中断多重循环的思路总结
Oct 04 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
Python %r和%s区别代码实例解析
Apr 03 Python
Python求凸包及多边形面积教程
Apr 12 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
python logging.info在终端没输出的解决
May 12 Python
python如何实现DES加密
Sep 21 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
Dec 20 #Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 #Python
用Python编写一个高效的端口扫描器的方法
Dec 20 #Python
python re正则匹配网页中图片url地址的方法
Dec 20 #Python
python使用pdfminer解析pdf文件的方法示例
Dec 20 #Python
python爬取指定微信公众号文章
Dec 20 #Python
在Django中URL正则表达式匹配的方法
Dec 20 #Python
You might like
PHP 变量类型的强制转换
2009/10/23 PHP
dedecms中使用php语句指南
2014/11/13 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
php实现留言板功能
2017/03/05 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
python tkinter界面居中显示的方法
2018/10/11 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
Python远程方法调用实现过程解析
2020/07/28 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
求职简历的自我评价
2014/01/31 职场文书
函授自我鉴定范文
2014/02/06 职场文书
小学数学国培感言
2014/03/10 职场文书
委托公证书样本
2015/01/23 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
Python Socket编程详解
2021/04/25 Python
浅析Python中的随机采样和概率分布
2021/12/06 Python
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers