* coding : utf-8 *
@Time : 2021/12/6 16:59
@Author : Harken
安装指令以及国内源
进入到自己安装python的文件夹,库一般在Scripts里
cd d: cd Python cd Scripts
pip install xxx -i https://pypi.douban.com/simple
jsonpath安装
pip安装:pip install jsonpath
jsonpath的使用:
obj = json.load(open(‘json文件’,‘r’,encoding = ‘utf-8’
ret = jsonpath.jsonpath(obj,‘jsonpath语法’)
教程链接:http://blog.csdn.net/luxideyao/article/details/77802389
BeautifulSoup–bs4
和lxml一样,是一个html的解析器,主要功能也是解析和提取数据
缺点:效率没有lxml的效率高
优点:接口设计人性化,使用方便
bs4 安装以及创建
1.安装:pip install bs4
2.导入:from bs4 import BeautifulSoup
3.创建对象
服务器响应的文件生成对象
soup = BeautifulSoup(response.read().decode(),‘lxml’)
本地文件生成对象
soup = BeautifulSoup(open(‘1.html’,‘lxml’)
注意:默认打开文件的编码格式gbk,所以需要指定打开编码格式 encoding=‘utf-8’
获取标签的属性和属性值
soup.a.attrs
bs4的的一些函数
1.find
返回的是第一个复合条件的数据
print(soup.fina(‘a’))
根据title的值来找到对应的标签对象
print(soup.fina(‘a’,title=“a2”))
根据class的值来找到对应的标签对象,注意class需要添加下划线
print(soup.fina(‘a’,class_=“a1”))
2.find_all
返回的是一个列表,并且返回所有标签
print(soup.fina_all(‘a’))
如果想获取多个标签数据,需要在find_all的参数中添加的是列表的数据
print(soup.fina([‘a’,‘span’]))
limit的作用是查找前介个数据
print(soup.fina_all(‘li’,limit=2))
#3.select
返回的是一个列表,冰返回多个数据
print(soup.select(‘a’))
可以通过.代表class,这种操作叫做类选择器
print(soup.select(’.a1’))
#id
属性选择器
层级选择器
|