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实现的检测网站挂马程序
Nov 30 Python
Python中set与frozenset方法和区别详解
May 23 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
python3的数据类型及数据类型转换实例详解
Aug 20 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
python面向对象之类属性和类方法案例分析
Dec 30 Python
Python模拟伯努利试验和二项分布代码实例
May 27 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 Python
python中字符串的编码与解码详析
Dec 03 Python
python爬虫爬取图片的简单代码
Jan 18 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 adodb分页实现代码
2009/03/19 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
PHP中捕获超时事件的方法实例
2015/02/12 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
一直复略了的一个问题,关于表单重复提交
2007/02/15 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
利用python发送和接收邮件
2016/09/27 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python导入pandas具体步骤方法
2019/06/23 Python
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
新春寄语大全
2014/04/09 职场文书
学习十八大的心得体会
2014/09/12 职场文书
房地产财务经理岗位职责
2015/04/08 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
户外拓展训练感想
2015/08/07 职场文书