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操作MySQL数据库具体方法
Oct 28 Python
python基础教程之缩进介绍
Aug 29 Python
讲解Python中的递归函数
Apr 27 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
python保存二维数组到txt文件中的方法
Nov 15 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
Python3标准库之threading进程中管理并发操作方法
Mar 30 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
python中random.randint和random.randrange的区别详解
Sep 20 Python
教你使用pyinstaller打包Python教程
May 27 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自定义函数收代码
2010/08/01 PHP
PHP调用MySQL存储过程并返回值的方法
2014/12/26 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP实现微信提现功能
2018/09/30 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
JS数学函数Exp使用说明
2012/08/09 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
JS的get和set使用示例
2014/02/20 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
javascript数据结构中栈的应用之符号平衡问题
2017/04/11 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
[46:12]完美世界DOTA2联赛循环赛 DM vs Matador BO2第一场 11.04
2020/11/04 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
python处理json数据中的中文
2014/03/06 Python
python使用tornado实现简单爬虫
2018/07/28 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
利用python 读写csv文件
2020/09/10 Python
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
市场营销方案范文
2014/03/11 职场文书
培训研修方案
2014/06/06 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
研究生导师推荐信
2015/03/25 职场文书
教师聘用意向书
2015/05/11 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
python 爬取华为应用市场评论
2021/05/29 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python