requests(爬虫常用)库的使用
Requests库的使用
基于urllib改写的库
示例:
import requests
response=requests.get('http://www.baidu.com')#get请求
print(response.status_code,response.url,response.cookies,response.text,sep='\n')
import requests
response=requests.post('http://httpbin.org/post')#post请求
print(response.text)#.text得到的都是字符串类型的值
带参数的get请求
import requests
data={
'name':'abc',
'age':15
}
response=requests.get('http://httpbin.org/get',params=data)#post的参数请求时data=data
print(response.text) ----------------------------------------------
#或者直接将参数拼接在url上
import requests
response=requests.get('http://httpbin.org/get?name=adas&age=12')
print(response.text)
将返回的结果变为json格式
import requests
import json
response=requests.get('http://httpbin.org/get')
print(response.json())
print(json.loads(response.text))#等价于上面的
获取二进制数据
import requests
response=requests.get('https://weibo.com/favicon.ico')
print(response.content)
with open('weibo.ico','wb')as f:
f.write(response.content)
添加http的headers属性
import requests
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"
}
response=requests.get('https://zhihu.com/',headers=headers)
print(response.status_code)
print(response.text)
带参数的post请求
import requests
data={
'name':'wang',
'age':88
}
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"
}
response=requests.post('http://httpbin.org/post',data=data,headers=headers)
print(response.text)
response的一些属性
import requests
response=requests.get('http://www.baidu.com')
print(response.headers)
print(response.text)
print(response.status_code)
print(response.content)
print(response.cookies)
#...还有就省略了
response状态码的判断
import requests
response=requests.get('http://www.baidu.com')
# if response.status_code==requests.codes.ok:
if response.status_code==200:
print('ok')
else:
print('error')
文件上传
import requests
files={
'file':open('weibo.ico','rb')
}
response=requests.post('http://httpbin.org/post',files=files)
print(response.text)
获取cookie
import requests
response=requests.get('htt
cook=response.cookies
print(type(cook))
for key,value in cook.item
print(key,'=',value)
维持会话
模拟登陆
import requests
s=requests.Session()#声明session对象,通过session请求网站
s.get('http://httpbin.org/cookies/set/name/123')
response=s.get('http://httpbin.org/cookies')
print(response.text)
证书验证
import requests
from requests.packages import urllib3
urllib3.disable_warnings()#去除py警告
response=requests.get('https://www.12306.cn',verify=False)#去除证书验证
print(response.status_code)
代理ip
import requests
proxies={
'http': 'http://47.89.10.103:80/'
}
response=requests.get('http://www.geogle.com',proxies=proxies)
print(response.text)
有密码的代理ip
import requests
proxies={
'http':'http://user.password@47.89.10.103:80'
}
response=requests.get('http://www.geogle.com',proxies=proxies)
print(response.text)
超时设置
import requests
from requests.exceptions import ReadTimeout
try:
response=requests.get('https://taobao.com',timeout=0.1)
except ReadTimeout as e:
print('timeout')
认证设置(需要直接登陆才能查看网站)
import requests
from requests import HTTPBasicAuth
response=requests.get('http://115.44.48.789:8888',auth=HTTPBasicAuth('user',''))
print(response.status_code)
异常处理
import requests
from requests import ReadTimeout,ConnectionError,RequestException
try:
response=requests.get('http://www.baidu.com',timeout=0.5)
print(response.status_code)
except ReadTimeout:
print('timeout')
except ConnectionError:
print('connectionerror')
except RequestException:
print('requesterror')
requests(爬虫常用)库的使用的更多相关文章
- 爬虫-Python爬虫常用库
一.常用库 1.requests 做请求的时候用到. requests.get("url") 2.selenium 自动化会用到. 3.lxml 4.beautifulsoup 5 ...
- Python爬虫学习==>第五章:爬虫常用库的安装
学习目的: 爬虫有请求库(request.selenium).解析库.存储库(MongoDB.Redis).工具库,此节学习安装常用库的安装 正式步骤 Step1:urllib和re库 这两个库在安装 ...
- Python爬虫常用库安装
建议更换pip源到国内镜像,下载会快很多:https://www.cnblogs.com/believepd/p/10499844.html requests pip3 install request ...
- python爬虫常用库和安装 -- windows7环境
1:urllib python自带 2:re python自带 3:requests pip install requests 4:selenium 需要依赖chrome ...
- 爬虫常用库之pyquery 库
pyquery库是jQuery的Python实现,可以用于解析HTML网页内容,我个人写过的一些抓取网页数据的脚本就是用它来解析html获取数据的.他的官方文档地址是:http://packages. ...
- Python 爬虫常用库(九)
- [python爬虫]Requests-BeautifulSoup-Re库方案--Requests库介绍
[根据北京理工大学嵩天老师“Python网络爬虫与信息提取”慕课课程编写 文章中部分图片来自老师PPT 慕课链接:https://www.icourse163.org/learn/BIT-10018 ...
- [python爬虫]Requests-BeautifulSoup-Re库方案--robots协议与Requests库实战
[根据北京理工大学嵩天老师“Python网络爬虫与信息提取”慕课课程编写 慕课链接:https://www.icourse163.org/learn/BIT-1001870001?tid=100223 ...
- Python 爬虫常用的库
一.常用库 1.requests 做请求的时候用到. requests.get("url") 2.selenium 自动化会用到. 3.lxml 4.beautifulsoup 5 ...
- $python爬虫系列(2)—— requests和BeautifulSoup库的基本用法
本文主要介绍python爬虫的两大利器:requests和BeautifulSoup库的基本用法. 1. 安装requests和BeautifulSoup库 可以通过3种方式安装: easy_inst ...
随机推荐
- react技术栈实践(1)
本文来自网易云社区 作者:汪洋 背景 最近开发一个全新AB测试平台,思考了下正好可以使用react技术开发. 实践前技术准备 首先遇到一个概念,redux.这货还真不好理解,大体的理解:Store包含 ...
- SpringCloudLearning
http://blog.didispace.com/Spring-Boot%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/ https://github.com/forezp ...
- day04_07 while循环01
while循环结构: #while 条件: print("any") print("any") 死循环案例 num = 1 while num<=10 : ...
- 洛谷9月月赛II 赛后瞎写
看错比赛时间了....结果发现的时候已经开始了半个小时,并且当时正准备睡午觉qwq 于是就水了个t1就 去睡 跑了 T2 写着写着然后看了一发评讲被辣鸡思路给绕了进去最后发现自己宛若一个智障 类似桶的 ...
- [python subprocess学习篇] 调用系统命令
http://www.jb51.net/article/57208.htm 3).Popen.communicate(input=None):与子进程进行交互.向stdin发送数据,或从stdout和 ...
- 【java基础 15】java代码中“==”和equals的区别
导读:昨夜闲来无事,和贾姑娘聊了聊java基础,然后就说到了这个"=="和equals的问题,我俩都是以前了解过,也常用这个,但是,昨天说到的时候,又乱了,什么比较地址值,什么判断 ...
- HDU——1286找新朋友(欧拉函数+质数打表)
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- spring入门到放弃——spring事务管理
Spring事务提供了两种管理的的方式:编程式事务和声明式事务 简单回顾下事务: 事务:逻辑上的一组操作,组成操作的各个单元,要么全部成功,要么全部失败. 事务特性: 原子性:一个事务包含的各个操作单 ...
- 配置 MySQL 服务器容器
本文介绍在单一宿主机上如何配置自动备份.建议使用两个容器,其中一个容器作为 MySQL 的服务器,用来处理数据:另一个容器用于自动备份.这样保证隔离,避免备份的容器影响到 MySQL Server 的 ...
- 刷题总结:排序机械臂(石室中学oj)(splay)
题目: 题目描述 为了把工厂中高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂.它遵循一个简单的排序规则,第一次操作找到最低的物品位置 P1,并把从左起第 1 个至第 P1 个之间的物品反序 ...