b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

beautifulsoup 下载_beautiful love_beautifulsoup中文文档(4)

电脑杂谈  发布时间:2017-02-01 20:14:37  来源:网络整理

previousSiblingGenerator

previous_elements

previous_siblings

pushTag

recursiveChildGenerator

renderContents

replaceWith

replaceWithChildren

replace_with

replace_with_children:修改elementtree元素内容

reset

select:适用于jquery和css的语法选择。

setup

string

strings

stripped_strings

tag_name_re

text

unwrap

wrap

需要注意的是,在BeautifulSoup中的方法有些有两种写法,有些是驼峰格式的写法,有些是下划线格式的写法,但是看其方法的含义是一样的,这主要是BeautifulSoup为了兼容3.x的写法。前者是3.x的写法,后者是4.x的写法,推荐使用后者,也就是下划线的方法。

根据这些方法,应该能够得到遍历、抽取、修改、规范化文档的一系列方法。大家如果能在工作中使用BeautifulSoup,一定会理解更深。

BeautifulSoup支持不同的parser,默认是Html格式解析,还有xml parser、lxml parser、html5lib parser、html.parser,这些parser都需要响应的解析器支持。

html,这个是默认的解析器

Python代码

BeautifulSoup("<a><b/></a>")

#<html><head></head><body><a><b></b></a></body></html>

xml格式解析器

Python代码

BeautifulSoup("<a><b/></a>","xml")

#<?xmlversion="1.0"encoding="utf-8"?>

#<a><b/></a>

lxml格式解析器

Python代码

BeautifulSoup("<a></p>","lxml")

#<html><body><a></a></body></html>

html5lib格式解析器

Python代码

BeautifulSoup("<a></p>","html5lib")

#<html><head></head><body><a><p></p></a></body></html>

html.parser解析器

Python代码

BeautifulSoup("<a></p>","html.parser")

#<a></a>

其中parser的区别大家看下这几个例子就知道了。

在使用BeautifulSoup解析文档的时候,会将整个文档以一颗大又密集的数据载入到内存中,如果你只是从数据结构中获得一个字符串,内存中保存一堆数据感觉就不划算了。并且如果你要获得指向某个Tag的内容,这个Tag又会指向其它的Tag对象,因此你需要保存这棵树的所有部分,也就是说整棵树都在内存中。extract方法可以破坏掉这些链接,它会将树的连接部分断开,如果你得到某个Tag,这个Tag的剩余部分会离开这棵树而被垃圾收集器捕获;当然,你也可以实现其它的功能:如文档中的某一块你本身就不关心,你可以直接把它extract出树结构,扔给垃圾收集器,优化内存使用的同时还能完成自己的功能。

正如BeautifulSoup的作者Leonard所说,写BeautifulSoup是为了帮助别人节省时间,减小工作量。一旦习惯使用上BeautifulSoup后,一些站点的内容很快就能搞定。这个就是开源的精神,将工作尽可能的自动化,减小工作量;从某个程度上来说,程序员应该是比较懒惰的,但是这种懒惰正好又促进了软件行业的进步。

导入模块时按照原始博文 总是不对,我尝试import bs4 from bs4 import beautifulsoup 就可一了


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29971-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...