python爬虫学习---Requests库的使用

python爬虫学习---Requests库的使用


#-*- coding:utf-8 -*-

#status_code用于查看请求状态码,text用于查看文本,cookies用于查看请求的cookie信息,headers头信息

import requests
response=requests.get('https://www.baidu.com')
print(response.encoding)#这里用于查看网页编码
print(response.status_code)
print(response.text.encode("utf-8"))#不加使用utf-8编码会报编码错误,因为原网页编码为ISO
print(response.cookies)
print(response.headers)
print(response.history)#返回历史记录


#不同的请求方式post,put,delete等等,其中get为最基本的请求
#实现带参数的get请求
#在基础url后加?,不同的参数使用$进行连接,即构造请求带参数的网址
#解析json

import requests
import json
response=requests.get("http://httpbin.org/get")
print(response.json())
print(json.loads(response.text))#比较返回的json结果
print(response.content)#获取二进制数据,用于下载图片等内容
with open("D:/result.txt","wb") as file:#这里文件设置为绝对路径,本来不用,但是vscode终端运行并未新建文件
    file.write(response.content)
    file.close()#保存二进制数据,文件后缀保存图片时可设置为图片的后缀名


#添加headers,用于反爬虫机制,模拟成浏览器

headers={...}
response=requests(url,headers=headers)
print(response.text)#这里不进行演示,旨在强调requests库可以支持参数传递


#post请求,以form表单形式请求

import requests
data={...}#此处为字典形式
response=requests.post(url,data=data)
print(response.text)#可以传递账号密码等,可用于反爬机制


#状态码判断,状态码status_codes会返回int数值,也有对应的状态信息
#例如200==codes.ok,可调用名字用于判断

import requests
print(200==requests.codes.ok)


#文件上传操作

import requests
files={'file':open('D:/result.txt','wb')}
response=requests.post(url,files=files)
print(response.text)



#会话维持,可以模拟登陆

import requests
session=requests.Session()
session.get(url)
response=session.get(url)#在请求期间保持cookie,保持一个持续访问的会话


#证书验证,当请求一个https网站时,会检查证书是否合法,否则会报错

import requests
from requests.packages import urllib3
urllib3.disable_warnings()
response=requests.get(url,verify=False)#忽略证书
#response=request.get(url,cert=('证书路径'))这是设置一个证书


#设置代理,用于反爬机制

import requests
proxies={"http":"http://user:password@ip"}
response=requests.get(url,proxies=proxies)


#超时设置

import requests
from requests.exceptions import ReadTimeout#用于异常处理
response=requests.get(url,timeout=1)#设置1s内响应,否则抛出异常
#可以用try-except进行异常处理
#异常处理和其他的类使用可以参考官方文档,异常可以保证程序不间断运行


#认证设置,用于输入账号密码

import requests
from requests.auth import HTTPBasicAuth
response=requests.get(url,auth=HTTPBasicAuth('账号','密码'))


      这其中有不合适或者不正确的地方欢迎指正,我的QQ号码:2867221444(乔金明),谢谢,也可以相互交流下,备注信息随意,只要能看得出是开发者或者学习者即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值