bs4:
bs4对应英文为Beautiful Soup,美丽的汤,不知道为啥取这名。
bs4在使用前需要下载,在终端中使用pip install bs4即可
pip install bs4
bs4用来 从网页里面提取数据,可以导航网页中的数据以及进行搜索与修改分析等。相比xpath简洁明了不少。
bs4自动将输入文档转换为unicode编码,输出文档转换为utf-8编码。
直接上栗子:
#导入所需的库
import requests
import bs4
#选择要抓取的网页
url = 'https://movie.douban.com/top250'
resp = requests.get(url,headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52'})
#创建一个BeautifulSoup对象
soup = bs4.BeautifulSoup(resp.text,'html.parser')#这里不创建文档来显示最终数据,直接将数据在python中输出
#div是数据所在标签,class是数据属性,这里使用class_是为了区分python中的class
targets = soup.find_all('div',class_='hd')#使用find_all查找所有目标内容
for each in targets:
print(each.a.span.text)
使用一个爬取豆瓣电影排行榜的例子来掌握bs4的简单使用
bs4.BeautifulSoup(resp.text,'html.parser')这里有两个参数,一个是resp.text,也就是我们所需的数据文本内容,第二个参数是html.parser
html.parser是bs4自带的解析器,直接用就好
运行效果:
肖申克的救赎
霸王别姬
阿甘正传
泰坦尼克号
这个杀手不太冷
美丽人生
千与千寻
辛德勒的名单
盗梦空间
星际穿越
楚门的世界
忠犬八公的故事
海上钢琴师
三傻大闹宝莱坞
机器人总动员
放牛班的春天
无间道
疯狂动物城
大话西游之大圣娶亲
控方证人
熔炉
教父
当幸福来敲门
触不可及
怦然心动
关于bs4还有许多内容,只能以后再学了(狗头)
xpath:
xpath用来在HTML中查找信息,关于HTML还有一些简单介绍:
在HTML中有许多节点,每个节点下又有许多子节点,上一个节点称下一个的父节点,同一等级之间叫同胞节点
xpath同样需要在python中下载第三方库,与bs4一样在终端中使用如下命令
pip install lxml
xpath用法:
首先构造出etree对象
form lxml import etree
例如我们要提取book节点下的nick里面的内容只需:
tree = etree.XML(xml)
res = tree.xpath('/book/nick/text()')
HTML语言相当于xml文档的子集
在使用python进行网页数据提取时使用xpath非常好用。
在网页中如何使用xpath:
首先在网页中右键,打开检查,然后使用ctrl+f打开xpath进行查找