视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
让Python更便捷-简介Python常用的标准库与介绍
2020-11-27 14:21:27 责编:小采
文档

Python中到底有哪些Python常用库会让程序员爱不释手?以至于一次上瘾,今天我们就来整理一番这样的Python常用库,欢迎各位在评论区或者私信我添加或者修改相关库内容。

首先介绍beautifulsoup这个库,因为最开始接触爬虫的时候,就看到大家强力推荐这个库。后来用了下,觉着确实不错。但是程序员嘛,哪能在一个库里闷死,哈哈。

几个库的安装过程就不再累述,参考anaconda。-_-.

后面几个实例,均用这个来测试。

html = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="myclass" name="dromouse"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="myclass" id="box"><!-- Elsie --></a>,
<a href="http://example.com/lacie" class="myclass" id="box1">Lacie</a> and
<a href="http://example.com/tillie" class="myclass" id="box2">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""

BeautifulSoup

Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器。例如lxml HTML,lxml XML,html5lib。不过要安装这些库,否则它会使用python的内部标准库。

  beautifulsoup的对象创建有两种方式。

1.  soup=BeautifulSoup(html) #用变量内容来创建

2.  soup=BeautifulSoup('mysite.html') #用本地文件来创建

  BeautifulSoup是将HTML转化为一个复杂的树形结构,每个节点都是python对象,有前端基础的同学会知道,类似DOM对象。BeautifulSoup中的对象大致有四种,Tag、NavigableString、BeautifulSoup、Comment。由于我们平时操作大多数是针对一个个标签提取信息,所以我简略的叙述下常用到的Tag对象。

Tag

tag就是HTML的一个个标签。

例如HTML中的 head,title,a,p等等。

在实际操作中,我们会将所需要的标签通过选择器查找出来,然后通过操作Tag对象来获取所需信息。在BeautifulSoup中,常用的findAll()和find()来搜索文档树来获取自己所需的标签。同时,BeautifulSoup也支持CSS语法来搜索,select()方法,返回的类型是list。

ps:

1.findAll()等同于find_all()

2.对前端比较了解的,用select()方法比较顺手。

find()

find()相当于findAll()中limit=1的时候,不过find()返回的是结果,findAll()返回的是一个列表。

CSS选择器

  beautifulsoup支持CSS语法的选择器来查找所需要的标签。

select(CSS选择器)
例:
soup.select('.myclass #box')
#后代选择器
soup.select('head>title')
#子选择器
soup.select('div+p')
#相邻兄弟选择器
soup.select('div~p’)
#后续兄弟选择器

同时还可以加入属性查找。

soup.select('.myclass a[id="box"]')

select()方法返回的是列表形式。

以上差不多就是BeautifulSoup常用的功能

下载本文
显示全文
专题