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基础教程之基本数据类型和变量声明介绍
Aug 29 Python
利用python生成一个导出数据库的bat脚本文件的方法
Dec 30 Python
Python使用pylab库实现画线功能的方法详解
Jun 08 Python
python实现人脸识别代码
Nov 08 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
pyqt5自定义信号实例解析
Jan 31 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
Dec 18 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
python中对二维列表中一维列表的调用方法
Jun 07 Python
openCV提取图像中的矩形区域
Jul 21 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 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 获取客户端的真实ip
2009/11/30 PHP
php-fpm配置详解
2014/02/12 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
再谈JavaScript线程
2015/07/10 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
使用Bootstrap打造特色进度条效果
2017/05/02 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期
2020/02/01 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
python引入不同文件夹下的自定义模块方法
2018/10/27 Python
修改默认的pip版本为对应python2.7的方法
2018/11/06 Python
Python当中的array数组对象实例详解
2019/06/12 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
大学生咖啡店创业计划书
2014/01/21 职场文书
党性分析自查总结
2014/10/14 职场文书
安阳殷墟导游词
2015/02/10 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL