读BeautifulSoup官方文档之html树的打印
prettify()能返回一个格式良好的html的Unicode字符串 :
markup = '<a href="http://example.com/">I linked to <i>example.com</i></a>'
soup = BeautifulSoup(markup)
soup.prettify()
# '<html>\n <head>\n </head>\n <body>\n <a href="http://example.com/">\n...' print(soup.prettify())
# <html>
# <head>
# </head>
# <body>
# <a href="http://example.com/">
# I linked to
# <i>
# example.com
# </i>
# </a>
# </body>
# </html>
但是你只是想要一个代表该html的字符串, 并不在乎它的格式, 你可以使用str()或者unicode()...这里str()返回的是格式为utf8的字符串, 你可以使用encode使它变为bytestring或者decode使它变成Unicode.
str(soup)
# '<html><head></head><body><a href="http://example.com/">I linked to <i>example.com</i></a></body></html>' unicode(soup.a)
# u'<a href="http://example.com/">I linked to <i>example.com</i></a>'
其他还有一些细节我不太像看下去了, 最后还有一个get_text()我在提下, 它能返回调用标签中所有的text部分...
markup = '<a href="http://example.com/">\nI linked to <i>example.com</i>\n</a>'
soup = BeautifulSoup(markup) soup.get_text()
u'\nI linked to example.com\n'
soup.i.get_text()
u'example.com'
你还可以为他传递一个字符串参数, 用这个参数来划分出每一部分的text.
# soup.get_text("|")
u'\nI linked to |example.com|\n'
同时还可以设置strip参数来去掉每个部分(注意是每个部分而不是整体)前后的空白字符
# soup.get_text("|", strip=True)
u'I linked to|example.com'
当然, 这种情况也可以使用我们之前提到的stripped_strings(), 不记得的可以看之前的文章...
[text for text in soup.stripped_strings]
# [u'I linked to', u'example.com']
看到这里文档也看完了70%左右, 我感觉这些已经足够我目前的需求了, 所以就我不就继续往下看了...
读BeautifulSoup官方文档之html树的打印的更多相关文章
- 读BeautifulSoup官方文档之html树的修改
		
修改html树无非是对其中标签的改动, 改动标签的名字(也就是类型), 属性和标签里的内容... 先讲这边提供了很方便的方法来对其进行改动... soup = BeautifulSoup('<b ...
 - 读BeautifulSoup官方文档之html树的搜索(1)
		
之前介绍了有关的四个对象以及他们的属性, 但是一般情况下要在杂乱的html中提取我们所需的tag(tag中包含的信息)是比较复杂的, 现在我们可以来看看到底有些什么搜索的方法. 最主要的两个方法当然是 ...
 - 读BeautifulSoup官方文档之html树的搜索(2)
		
除了find()和find_all(), 这里还提供了许多类似的方法我就细讲了, 参数和用法都差不多, 最后四个是next, previous是以.next/previous_element()来说的 ...
 - 读BeautifulSoup官方文档之与bs有关的对象和属性(1)
		
自从10号又是5天没更, 是, 我再一次断更... 原因是朋友在搞python, 老问我问题, 我python也是很久没碰了, 于是为了解决他的问题, 我只能重新开始研究python, 为了快速找回感 ...
 - 读BeautifulSoup官方文档之与bs有关的对象和属性(2)
		
上一节说到tag, 这里接着讲, tag有个属性叫做string, tag.string其实就是我们要掌握的四个对象中的第二个 ---- NavigableString, 它代表的是该tag内的te ...
 - 读BeautifulSoup官方文档之与bs有关的对象和属性(3)
		
上一节说到.string的条件很苛刻, 如果某个tag里面包含了超过一个children, 就会返回None, 但是这里提供另外一种方式 .strings, 它返回的是一个generator, 比如对 ...
 - 读vue-cli3 官方文档的一些学习记录
		
原来一直以为vue@cli3 就是创建模板的工具,读了官方文档才知道原来这么有用,不少配置让我长见识了 Prefetch 懒加载配置 懒加载相信大家都是知道的,使用Import() 语法就可以在需要的 ...
 - Beautifulsoup官方文档
		
Beautiful Soup 中文文档 原文 by Leonard Richardson (leonardr@segfault.org) 翻译 by Richie Yan (richieyan@gma ...
 - 读jQuery官方文档:$(document).ready()与避免冲突
		
$(document).ready() 通常你想在DOM结构加载完毕之后才执行相关脚本.使用原生JavaScript,你可能调用window.onload = function() { ... }, ...
 
随机推荐
- [Angular] Using ngOnChanges lifeCycle hook to break object reference
			
What could be the issue, for example we have two list: Parent component: @Component({ selector: 'pas ...
 - PHP接口类interface使用方法
			
PHP同大多数的面向对象语言一样,并不支持多重继承.少数支持多重继承的语言中最著名的就是C++和Smalltalk.如果需要实现多重继承功能,在PHP中,可以通过接口,它是PHP解决多重继承问题的方法 ...
 - TI_DSP_SRIO - Doorbell原理
			
前文介绍到SRIO有多种类型的包,当中包括了Doorbell包,Doorbell是一种高速的通知类型的短消息,包头和携带信息都非常短,用于master srio设备通知slave srio设备,可用于 ...
 - matlab 实现 stacked Autoencoder 解决图像分类问题
			
Train Stacked Autoencoders for Image Classification 1. 加载数据到内存 [train_x, train_y] = digitTrainCellAr ...
 - 如何通过submit提交form表单获取后台传来的返回值
			
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_34651764/article/details/76373846 小伙伴是不是遇到过这样的问题 ...
 - ajax——XMLHttpRequest
			
XMLHttpRequest对象.能够让ajax程序在不又一次载入的页面的情况下更新页面数据,页面载入完毕后从server接受发生数据.这样既减轻了server负担又回顾了响应速度,缩短了用户的等待时 ...
 - 有奖试读&征文--当青春遇上互联网,是否能点燃你的创业梦
			
时至今日,互联网已经切入我们每一个人的工作.生活和学习的每一个角落.利用互联网这个工具,有人游戏,有人购物,有人上课,有人交友,而有那么一部分人去利用它完毕人生最完美的逆袭.相信每一个人心中都有个创业 ...
 - 【20.00%】【codeforces 44G】Shooting Gallery
			
time limit per test5 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
 - unix shell(壳)的简单实现
			
用户程序通过调用操作系统提供的系统调用(system call)API 来获得操作系统提供的各种服务.但使用 API 需要手动编写程序.对于不编程序.且需要与操作系统进行交互的用户,又如何使用操作系统 ...
 - quartz结合多线程处理后台业务
			
最近项目中有播放视频的需求,技术选型采用UMS播放器,免费版只能播放FLV格式的视频文件,因此需要对用户上传的视频进行格式转换,转换工具为FormatFactory,功能还是比较强大的.但是面临的一个 ...