Python爬虫获取html中的文本方法多种多样,这里主要介绍一下string、strings、stripped_strings和get_text用法

string:用来获取目标路径下第一个非标签字符串,得到的是个字符串

strings:用来获取目标路径下所有的子孙非标签字符串,返回的是个生成器

stripped_strings:用来获取目标路径下所有的子孙非标签字符串,会自动去掉空白字符串,返回的是一个生成器

get_text:用来获取目标路径下的子孙字符串,返回的是字符串(包含HTML的格式内容)

text:用来获取目标路径下的子孙非标签字符串,返回的是字符串

这里补充说明一下,如果获取到的是生成器,一般都是把它转换成list,不然你看不出那是什么玩意

接下来举栗子说明。以某中介网站举例,目标是获取各个在售二手单元的信息

一、string

import requests
from bs4 import BeautifulSoupurl = 'https://gz.centanet.com/ershoufang/'
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}respone = requests.get(url,headers=headers)
soup = BeautifulSoup(respone.text)ps = soup.select('div[class="section"] div[class="house-item clearfix"] p[class="house-name"]')
for p in ps:house = p.stringprint(house)

上面代码执行结果显示的是一堆None,这是因为string只会取第一个值,如下图,第一个值是空,所以最终获取到的是None

二、strings

import requests
from bs4 import BeautifulSoupurl = 'https://gz.centanet.com/ershoufang/'
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}respone = requests.get(url,headers=headers)
soup = BeautifulSoup(respone.text)ps = soup.select('div[class="section"] div[class="house-item clearfix"] p[class="house-name"]')
for p in ps:house = list(p.strings)print(house)

如下图,每个list中都会有10个字段,这些字段如何来的参考上图我框红色的地方就知道了。

三、stripped_strings

import requests
from bs4 import BeautifulSoupurl = 'https://gz.centanet.com/ershoufang/'
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}respone = requests.get(url,headers=headers)
soup = BeautifulSoup(respone.text)houses = []
ps = soup.select('div[class="section"] div[class="house-item clearfix"] p[class="house-name"]')
for p in ps:house = list(p.stripped_strings)#stripped_strings一下子能取出对应目录下的所有文本,并且自动把空白去掉houses.append(house)print(house)

四、get_text

import requests
from bs4 import BeautifulSoupurl = 'https://gz.centanet.com/ershoufang/'
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}respone = requests.get(url,headers=headers)
soup = BeautifulSoup(respone.text)ps = soup.select('div[class="section"] div[class="house-item clearfix"] p[class="house-name"]')
for p in ps:house = p.get_textprint(house)print("=="*40)

如下图,红色框选中部分即为一个字符串

五、text

import requests
from bs4 import BeautifulSoupurl = 'https://gz.centanet.com/ershoufang/'
headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"}respone = requests.get(url,headers=headers)
soup = BeautifulSoup(respone.text)ps = soup.select('div[class="section"] div[class="house-item clearfix"] p[class="house-name"]')
for p in ps:house = p.textprint(house)print("=="*40)

Python爬虫之string、strings、stripped_strings、get_text和text用法区别相关推荐

  1. python xpath语法-Python爬虫之XPath语法和lxml库的用法

    本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 安装 为什么要用这个库 ...

  2. Python爬虫入门四之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...

  3. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

  4. python爬虫系列—— requests和BeautifulSoup库的基本用法

    本文主要介绍python爬虫的两大利器:requests和BeautifulSoup库的基本用法. 1. 安装requests和BeautifulSoup库 可以通过3种方式安装: easy_inst ...

  5. BeautifulSoup的高级应用 之 contents children descendants string strings stripped_strings

    继上一节.BeautifulSoup的高级应用 之 find findAll,这一节,主要解说BeautifulSoup有关的其它几个重要应用函数. 本篇中,所使用的html为: html_doc = ...

  6. Python爬虫之(六)requests库的用法

    介绍 对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来简单介绍一下 requests 库的基本用法 安装 pip i ...

  7. python中predict函数_sklearn中predict()与predict_proba()用法区别

    predict是训练后返回预测结果,是标签值. predict_proba返回的是一个 n 行 k 列的数组, 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行 ...

  8. python里面pop,remove和del 三者的用法区别

    首先,remove 是删除首个符合条件的元素.并不是删除特定的索引.如下例: >>> a = [0, 2, 2, 3] >>> a.remove(2) >&g ...

  9. python爬虫能干什么-总算发现python爬虫能够干什么

    网络爬虫另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫.下面是小编为您整理的关于python爬虫能够干什么,希望对你有所帮助. python爬虫能够干什么 1.python爬虫可从网站某一 ...

最新文章

  1. mysql 存储引擎的选择_MySQL学习笔记(四):存储引擎的选择
  2. 前端开发面试题总结之——JAVASCRIPT(一)
  3. 窗口缩放导致页面排版错乱的解决方法
  4. java炸弹游戏_java实现数字炸弹
  5. 数据结构-排序-分配类排序-知识点总结归纳3
  6. winafl 源码分析
  7. 深度学习-吴恩达-笔记-3-浅层神经网络
  8. OSG仿真案例(7)——osg自动驾驶
  9. python实例 输出你好
  10. ad怎么测量pcb尺寸_如何用AD精确测量PCB板子尺寸
  11. 转贴:Objective-C Tutorial
  12. 轻健身餐的市场前景如何?如何选择一个投资小、美食和健身餐清淡的品牌?
  13. 剑指offer -- 最长不含重复字符的字符串
  14. 获取商品数据 API(商品详情、商品主图)
  15. c语言调用子函数程序,函数的调用
  16. 使用OpenCV-Python为照片添加不同滤镜(每天一个python小项目)
  17. 2 万字 + 20张图| 细说 Redis 九种数据类型和应用场景
  18. 【附源码】计算机毕业设计java校园舆情监控系统设计与实现
  19. 三国志11板游戏资源及问题解决
  20. 世界各个国家坐标位置和中国各个省份坐标位置json格式

热门文章

  1. C++ getchar()函数
  2. PR-颜色遮罩-透明度-渐闪效果
  3. 【机器学习算法实践】AdaBoost是典型的Boosting算法,加法模型多个弱分类器流水线式的提升精度,更关注那些难处理的数据
  4. Vivado:【1】Vivado 2018.3 配置ModelSim仿真
  5. windows下nslookup命令
  6. FHQ Treap【基于P3369的讲解】【随机数、各数组、函数运用】
  7. 引力产生的原因是什么
  8. SUN公司Java认证和考试纵览
  9. Excel_VBA开发2048游戏教程——Einsphoton
  10. python笔记—>网页爬虫