本文基于书籍《Python网络数据采集》(Web Scraping with python)
语言:python3
系统:CentOS7
python库:Beautiful Soup4
1.抽取HTML中标签属性
在BeautifulSoup中使用findAll()/final()函数
findAll(tag,attribute,recursive,text,limit,keywords)
tag: 标签名或者标签名组成的标签列表
attribute:由字典组织的{ “属性名” : {“属性值”,……..}}
recursive: 布尔值 ture 查找所有子标签(默认)/false 仅查找一级
text : findAll(text = “XXXXX”) 返回含有“”XXXX“文本内容的标签
limit : findAll(limit=x)显示前x项,x=1为find()函数
keywords:findALL(id = “属性名”)返回含有此属性名标签
2.标签方法
标签对象.get_text()
返回标签内容且无标签
标签对象.attrs
返回此标签下所有属性(以字典的数据结构)
标签对象.attrs["属性名"]
返回指定属性名的属性值
3.处理标签树
由于利用BeautifulSoup将HTML/XML变为树形结构,可以进行树的逻辑处理
1.子标签
bsObj.find(xxxxxx).chidren
find(XXXXX)为寻找指定标签
2.兄弟标签
bsObj.find(xxxxxx).next_siblings
此标签之后所有兄弟标签
bsObj.find(xxxxxx).previous_siblings
一组兄弟标签最后一个标签
3.父标签
bsObj.find(xxxxxx).parent
直接父标签
bsObj.find(xxxxxx).parents
逻辑上所有夫标签
4.下载文件
利用urllib中的模块
from urllib.request import urlretrieve
urlretrieve(url,"文件夹名")
将URL指定内容侠盗指定文件夹中