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爬虫之使用Scrapy框架编写爬虫
Nov 07 Python
python中使用序列的方法
Aug 03 Python
用tensorflow实现弹性网络回归算法
Jan 09 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
python使用KNN算法识别手写数字
Apr 25 Python
Python实现将HTML转成PDF的方法分析
May 04 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
Dec 23 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
Jan 02 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
Mar 09 Python
python代码能做成软件吗
Jul 24 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获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
php中__toString()方法用法示例
2016/12/07 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
JavaScript全屏和退出全屏事件总结(附代码)
2017/08/17 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
js获取html页面代码中图片地址的实现代码
2018/03/05 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
优雅的elementUI table单元格可编辑实现方法详解
2018/12/23 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
python字符串常用方法
2018/06/14 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
Python玩转Excel的读写改实例
2019/02/22 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
Watchshop德国:欧洲在线手表No.1
2019/06/20 全球购物
教师自荐书
2013/10/08 职场文书
美术国培研修感言
2014/02/12 职场文书
单位委托书怎么写
2014/09/21 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
Python的property属性详细讲解
2022/04/11 Python