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 07 Python
Python greenlet实现原理和使用示例
Sep 24 Python
手动实现把python项目发布为exe可执行程序过程分享
Oct 23 Python
Python查找相似单词的方法
Mar 05 Python
Python编写登陆接口的方法
Jul 10 Python
Python实现的单向循环链表功能示例
Nov 10 Python
selenium+python 去除启动的黑色cmd窗口方法
May 22 Python
python pands实现execl转csv 并修改csv指定列的方法
Dec 12 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
Dec 28 Python
python线程优先级队列知识点总结
Feb 28 Python
pandas 实现将NaN转换为None
May 14 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实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
php微信开发之关注事件
2018/06/14 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
js实现交通灯效果
2017/01/13 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
[50:21]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/19 DOTA
Python实现简单的代理服务器
2015/07/25 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
Sanic框架Cookies操作示例
2018/07/17 Python
python tkinter组件使用详解
2019/09/16 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
python由已知数组快速生成新数组的方法
2020/04/08 Python
python 如何停止一个死循环的线程
2020/11/24 Python
财务会计专业个人求职信范本
2014/01/08 职场文书
25岁生日感言
2014/01/13 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
员工安全生产责任书
2014/07/22 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
房产协议书范本2014
2014/09/30 职场文书
解决 redis 无法远程连接
2022/05/15 Redis