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计算最小优先级队列代码分享
Dec 18 Python
python通过scapy获取局域网所有主机mac地址示例
May 04 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
在Python中定义和使用抽象类的方法
Jun 30 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
python3.6 如何将list存入txt后再读出list的方法
Jul 02 Python
python requests证书问题解决
Sep 05 Python
Python传递参数的多种方式(小结)
Sep 18 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 Python
PyQt5 QThread倒计时功能的实现代码
Apr 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
世界第一个无线广播电台 KDKA
2021/03/01 无线电
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
Smarty保留变量用法分析
2016/05/23 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
php常用数组函数实例小结
2016/12/29 PHP
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
基于JavaScript怎么实现让歌词滚动播放
2015/11/03 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
js删除数组中某几项的方法总结
2019/01/16 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python缓存技术实现过程详解
2019/09/25 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
python中wheel的用法整理
2020/06/15 Python
python调用私有属性的方法总结
2020/07/24 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
优秀的导游求职信范文
2014/04/06 职场文书
商品陈列协议书
2014/09/29 职场文书
个人工作总结范文2014
2014/11/07 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
bootstrapv4轮播图去除两侧阴影及线框的方法
2022/02/15 HTML / CSS