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 相关文章推荐
python3.3实现乘法表示例
Feb 07 Python
Python中的下划线详解
Jun 24 Python
浅谈python中的数字类型与处理工具
Aug 02 Python
python计算两个数的百分比方法
Jun 29 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
python 经典数字滤波实例
Dec 16 Python
python基于event实现线程间通信控制
Jan 13 Python
Python 如何创建一个简单的REST接口
Jul 30 Python
python使用建议技巧分享(三)
Aug 18 Python
Python+Appium新手教程
Apr 17 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学习笔记 数组的常用函数
2011/06/13 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
js代码实现微博导航栏
2015/07/30 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
简单的分页代码js实现
2016/05/17 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
2018/08/09 jQuery
微信小程序实现商品属性联动选择
2019/02/15 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
[53:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第三场 1月18日
2021/03/11 DOTA
Python简单获取自身外网IP的方法
2016/09/18 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
python保存网页图片到本地的方法
2018/07/24 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
Python数据结构与算法(几种排序)小结
2019/06/22 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
业务部门经理岗位职责
2014/02/23 职场文书
销售员岗位职责
2015/02/10 职场文书
学习党章心得体会2016
2016/01/15 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
Python+Matplotlib+LaTeX玩转数学公式
2022/02/24 Python