一.Beautiful Soup的安装与测试html
官方网站:https://www.crummy.com/software/BeautifulSoup/node
Beautiful Soup安装与使用文档: https://www.crummy.com/software/BeautifulSoup/bs4/doc/python
1.首先测试一下bs4模块是否已经存在,若不存在再安装便可,我用的是kali测试发现bs4模块已经存在,下面介绍如何测试与安装正则表达式
新建python文档输入如下代码测试
1 import bs4 2 print bs4
显示一下结果即说明bs4模块已经存在,其余状况则须要安装网站
安装代码以下编码
1 sudo apt-get install python-pip2 3 sudo pip install beautifulsoup4
以后再进行测试便可spa
就会显示出来这时就说明 Beautiful Soup3d
安装已经完成code
2、Beautiful Soup的语法
find_all:搜索出知足要求的全部节点
find:搜索出知足要求的第一个节点
两者的参数是同样的
2.按照节点名称、属性值、文字进行的搜索
3.建立Beautiful Soup对象相应的代码
1 from bs4 import BeautifulSoup 2 3 #根据HTML网页字符串建立BreautifulSoup对象 4 soup = BeautifulSoup( 5 html_doc, #HTML文档字符串 6 'html.parser' #HTML解析器 7 from_encoding='utf-8' #HTML文档的编码 8 )
4.搜索节点(find_all,find)
find_all(name节点名称,attrs节点属性,string节点文字)
1 # 方法:find_all(name,attrs,string) 2 3 #查找全部标签为a的节点 4 soup.find_all('a') 5 6 #查找全部标签为a,连接符合/view/123.html形式的节点 7 soup.find_all('a',href='/view/123.html') 8 soup.find_all('a',href=re.compile(r'/view/\d+\.htm')) #bs中能够在find方法中的名称和属性上使用正则表达式来匹配对应的内容 9 10 #查找全部标签为div,class为abc,文字为python的节点 11 soup.find_all('div',class_='abc',string='python')
5.获得节点后访问节点信息
1 #假如获得节点:<a href='1.html'>python</a> 2 3 #获取查找到的a节点的href属性 4 node.name 5 6 #获取查找到的a节点的href属性,以字典的形式访问到a节点全部的属性 7 node['href'] 8 9 #获取查找到的a节点的连接文字
10 node.get_text()
经过以上建立bs4对象,搜索DOM树,访问节点的内容,就能够实现对整个下载好的网页
全部节点的解析和访问。下一篇博文将给一个完整的示例代码