2018-12-04-Python全栈开发-day92-requests和beautifulsoup简介
1,requests
url:指定访问的url地址
params:在url上添加的数据信息,例如以get方法提交时
params={ name:'yehaibin'},
data:在请求体上传递的数据,可以是字典/字节以及文件对象形式
data='k1=v1&k2=v2'
data={'k1'=v1}
json:自动将数据序列化后再进行传输,并且可以传输字典中嵌套字典的数据
json={k1:{k2:v2}}
headers:请求头信息
可以定制请求头内的信息,某些网站对请求头内的信息有要求,例如user-agent以及referer等
cookies:携带cookies用于用户验证
files:传输文件对象
可以直接向服务器提交文件对象
file={
'f1':open('s1.py','wb')
}
auth:基本验证框
在某些比较简单的网页中,会直接调用http的验证框,使用auth可以直接将验证信息带上
auth=HTTPBasicAuth(user,pwd)
timeout:设置超时时间
allow_redirects:是否允许跳转页面,也就是重定向
proxies:设置代理
stream:是否支持实时加载到硬盘
stream=true 可以下载一点就加载到硬盘
verify:验证证书
https有些需要提供证书,使用verify=false可以直接跳过证书
2.beautifulsoup
find:找到第一个标签对象,返回的是对象
find_all:找到所有的标签对象,并且放到列表中,返回的是列表
select:找到某标签
tag=soup.select('#link2')找到id为link2的标签
name:显示标签名
attr:
tag=soup.find('a')
tag.attrs()==显示tag的所有属性
tag.attrs={}
tag.attrs[k]=v 设置属性
children 显示所有的子标签,不显示孙标签
descendants显示所有的子孙标签
clear:清除标签的所有内容,包括子孙标签,但是不包括本身标签的标签名
decompose 递归删除标签,包括本身标签的标签名
extract 递归删除所有的标签,并且获取删除的标签,类似pop
decode和encode 对数据进行编码
find和find_all:在find中可以有多个条件,但是需要同时满足,find_all中的多个条件是只要满足其一
has_attr:检查某个标签是否具有这个属性
tag=soup.find('a')
tag.has_attr('id')
get_text获取标签内部的文本信息,类似js的inner_html
index 检查标签在某标签中的索引位置
is_empty_element 检查这个标签是否是空标签

浙公网安备 33010602011771号