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 18 Python
各个系统下的Python解释器相关安装方法
Oct 12 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
matplotlib设置legend图例代码示例
Dec 19 Python
Django中使用Celery的教程详解
Aug 24 Python
python从子线程中获得返回值的方法
Jan 30 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
Mar 26 Python
python 循环数据赋值实例
Dec 02 Python
解决django的template中如果无法引用MEDIA_URL问题
Apr 07 Python
Python爬虫实现selenium处理iframe作用域问题
Jan 27 Python
FP-growth算法发现频繁项集——构建FP树
Jun 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(视频)Http下载
2006/12/12 PHP
写出高质量的PHP程序
2012/02/04 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
jquery 全局AJAX事件使用代码
2010/11/05 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
Python中无限元素列表的实现方法
2014/08/18 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python使用wget实现下载网络文件功能示例
2018/05/31 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
企业节能减排实施方案
2014/03/19 职场文书
医学求职信
2014/05/28 职场文书
努力工作保证书
2015/02/28 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
董事长致辞
2015/07/29 职场文书
运动员代表致辞
2015/07/29 职场文书
配置nginx 重定向到系统维护页面
2021/06/08 Servers
详解Python中的进程和线程
2021/06/23 Python