预备知识点

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 urlretrieveif __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.textbf = 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')  #首先先创建一个文件对象,打开方式为wfor each in list_url:f.writelines(each)  #用readlines()方法写入文件f.writelines('\n')print(list_url)print('下载完成!')</span>

Python---获取div标签中的文字相关推荐

  1. python获取div标签的id_Python 获取div标签中的文字实例

    预备知识点 compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用. 语法格式为: re. ...

  2. js修改div标签中的内容

    <div id='divId'>初始文字</div><script>$(document).ready(function(e){$('#divId').html(' ...

  3. pdf exe如何提取pdf文件_python应用:如何用python提取pdf文件中的文字

    从pdf中提取文字,相信很多人都干过这事,怎么在python中实现呢,今天带大家看看. 第一步导入库 import PyPDF2 第二步导入pdf文件 pdf_file =open('dataset/ ...

  4. 笔记:caption标签中的文字为什么会是竖着的。

    我在项目联系中用到了table表格,在使用caption的时候文字是竖着显示的,这让我不明白怎么回事.随后在我长达一个小时的尝试中找到了答案. caption标签中的文字会换行的原因是table的默认 ...

  5. python遍历文本文件统计字符个数_用python获取txt文件中关键字的数量

    缘起: 开发人员需要tomcat中一个项目在一个月的访问请求量,因其他原因只剩下查找tomcat请求日志的方法获取,刚好最近在学习python,于是就用python摸索了下: 大体思路: 1.把相应t ...

  6. a-card标签中的文字不能垂直居中

    a-card标签中的文字不能垂直居中,可以在标签中再添加其他的标签,比如p.span等,然后再对其设置样式 <a-card class="schedule_card2"sty ...

  7. html中label如何居中,怎么让label标签中的文字居中显示

    label标签如何使用 html页码中的 label标签使用方法: 其实很多人都一样,喜欢的不是学校,不是班级,而是坐在教室的那群人 请点击文本标记之一,就可以触发相关控件: HTML代码中的labe ...

  8. python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测)

    python获取List数组中重复元素的个数(arcpy中统计FeatureClass中各类型地物要素的图斑数)(地理国情监测) for str_Val in set(shp_JH_list): #循 ...

  9. 让DIV标签中的p标签内容水平垂直居中

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

最新文章

  1. Leetcode: Reorder List
  2. [翻译] NSRegexTester
  3. linux apt-get 源,Ubuntu应用之——apt-get更改源地址
  4. oracle dump enq hw,经典故障分析 - ASSM引发的索引争用与 enq HW -contentio
  5. CSS实现树形结构 + js加载数据
  6. ubuntu中解压rar文件遇到乱码的解决方法
  7. SpringBoot 配置文件说明
  8. python数值类型和序列类型_Python基础 1数值类型 序列类型
  9. 思科路由器2811如何重设密码
  10. Python针对Excel数据的处理(部分)
  11. Keil 中 Error L6002U
  12. java中hashMap排序
  13. R语言isprime函数素数(prime number)判断实战
  14. 大话设计模式——解释器模式
  15. worksheet怎么读_worksheet是什么意思_worksheet怎么读_worksheet翻译_用法_发音_词组_同反义词_工作表_学习单-新东方在线英语词典...
  16. flex实现三栏布局
  17. 关于火车采集文章发布到wordpress后台待审核模块的设置
  18. 跨界干货:如何在一周内摸清一个行业
  19. 七.面向对象编程(中)
  20. 寿星万年历源代码(JAVA/VB NET)

热门文章

  1. python读写二进制文件的方法
  2. 《现代操作系统》第1章读书笔记-- 引论(未完成)
  3. 《大话数据结构》读书笔记-查找
  4. 苹果电脑如何删除软件_软件开发公司误将委托人系统数据删除,责任如何认定?...
  5. 笔记本电脑性价比排行2019_办公笔记本电脑排名2019 五款适合办公的笔记本电脑推荐...
  6. mysql存储过程遍历新增_MySQL存储过程:内部调用存储过程、存储过程实现遍历数据库建表以及修改字段...
  7. pandas的reindex功能
  8. C++中变量可以在需要时定义
  9. 用RAM存储器构造能够依次读取各存储单元内容的电路
  10. 定点数的编码表示方法