python-requests库(爬虫)

1.数据获取

网页数据获取有python自带的urllib,也有第三方库requests

requests库常用方法

requests.request(url)构造一个请求
requests.get(url,params=None)发送get请求,结果为response对象
requests.post(url,data=None,json=None)发送post请求
requests.put()发送put请求
requests.head()获取html的头信息
requests.delete()提交删除请求
requests.patch()提交局部修改的请求

requests.session() 返回session对象,可以用session对象发起带有session信息的请求,如

import requests
url='www.baidu.com'
data={'username':'zhangsan','password':'123'}
#获取session对象
s=requests.session()
#session发起post请求获取响应
resp=s.post(url,data=data)
#此时的session对象带有session信息
url1='www.baidu.com/xxx'
resp1=s.get(url1)

response对象的常用属性或方法

response对象是requests.get()的返回结果

response.status_code响应状态码
response.content二进制数据(图片、视频等)
response.text字符串数据
response.encoding定义response对象的编码
response.cookies获取请求后的cookie
response.url获取请求网址
response.json()内置的JSON解码器
response.headers以字典对象存储服务器响应头,键不区分大小写

2.数据解析

requests获取到响应后,需要其他工具对响应数据进行解析,常用有xpath、beautifulsoup、正则表达式、pyquery等

xpath(XML Path Language)

nodename选取此节点的所有子节点
/根节点
//匹配选择的节点,不考虑其位置
.当前节点
..当前节点的父节点
/text()获取当前节点下的文本内容
/@xx获取当前节点下标签的属性xx
|
xpath('/body/div[1]')选取body下第一个div节点
xpath('/body/div[last()]')选取body下最后一个div节点
xpath('/body/div[last()-1]')选取body下倒数第二个div节点
xpath('/body/div[position()<3]')选取body下前两个div节点
xpath('/body/div[@class]')选取body下带有class属性的div节点
xpath('/body/div[@class=main]')选取body下class属性值为main的div节点
xpath('/body/div[price>35.00]')选取body下price元素大于35的div节点

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值