Python Request库学习(一)

一、安装Requests库

pip install requests

二、Request库基本使用

  在Request库中常见的两种方法就是GET方法和Post方法,安装成功后,可以看到它自带了两个示例:

此外还支持De‘lete、Put、Options方法。而equests库的方便之处在于所有的请求都可以使用一句代码来实现。

三、Get方法

使用Get:

简单示例:

运行结果:

Params:

Get方法常见的形式:https://ip:port/xxxx?xx=xx,如果访问带有参数的Url,可以传入一个Dict。

param = {

‘name‘ : ‘aaaa‘,

‘age‘ : 20

}

res = requests.get(‘http://192.168.114.130/get.php‘,params=param)

 print(res.text)

输出结果就是上面传入的参数。

Header:

也是传入一个Dict作为参数:

header = {

‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36‘

}

res = requests.get(‘http://192.168.114.130/get.php‘,params=param,headers=header)

抓取图片:

  以xampp的图标为例: 

import requests

def html():

res = requests.get(‘http://192.168.114.130/favicon.ico‘)

if res.status_code == 200:

print(res.content)

with open(‘favicon.ico‘,‘wb‘) as f:

f.write(res.content)

else:

print(res.status_code)

html()

res.content返回的是二进制数据,直接保存的话会报TypeError: write() argument must be str, not bytes,所以想将图片保存在本地需要以二进制的方式打开。

timeout

超时设置,有时爬取网页一直卡在等待页面,没有报错也没有相应,所以需要设置一个超时设置。超出设定时间后没有相应,则会抛出异常。

res = requests.get(‘http://python-requests.org‘,timeout=1)

输出:

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host=‘requests.kennethreitz.org‘, port=443): Read timed out. (read timeout=1)

相应

其他属性和方法等:

  print(res.ok,type(res.ok))

print(res.cookies,type(res.cookies))

print(res.headers,type(res.headers))

print(res.url,type(res.url))

print(res.history,type(res.history))

输出:

原文地址:https://www.cnblogs.com/z45-1/p/11666648.html

时间: 2024-10-08 17:15:58

Python Request库学习(一)的相关文章

Python Request库学习(二)

1.文件上传 Requests除了Get方法外,还可以使用Post方法.如果网站允许上传文件,则可以使用此方法来上传文件. 示例: 主要是使用requests的files参数来完成. file.py import requests files = {'file' : open('Top250.txt','rb')} upload_file = requests.post('http://192.168.137.128/upload_file.php',files= files) print(up

【python标准库学习】thread,threading(二)多线程同步

继上一篇介绍了python的多线程和基本用法.也说到了python中多线程中的同步锁,这篇就来看看python中的多线程同步问题. 有时候很多个线程同时对一个资源进行修改,这个时候就容易发生错误,看看这个最简单的程序: import thread, time count = 0 def addCount(): global count for i in range(100000): count += 1 for i in range(10): thread.start_new_thread(ad

【python标准库学习】thread,threading(一)多线程的介绍和使用

在单个程序中我们经常用多线程来处理不同的工作,尤其是有的工作需要等,那么我们会新建一个线程去等然后执行某些操作,当做完事后线程退出被回收.当一个程序运行时,就会有一个进程被系统所创建,同时也会有一个线程运行,这个线程就是主线程main,在主线程中所创建的新的线程都是子线程,子线程通常都是做一些辅助的事.python中提供了thread和threading两个模块来支持多线程. python中使用线程有两种方式,第一种是用thread模块的start_new_thread函数,另一种是用threa

python第三方库学习之xlrd读取Excel文件

因为经常会涉及到从Excel表中导数据,所以就学习了python的xlrd来读取excel中的数据. 1.xlrd的安装 xlrd是python的第三方库,所以是需要自己安装的,可以在python的官网http://pypi.python.org/pypi/xlrd下载该模块来安装,也可以通过其他手段,比如easy_install或者pip啥的,我已经安装好pip所以就用最懒的方式来安装了pip install xlrd来安装. 2.分析excel文件的层级对象 要读取excel的数据,就要了解

【python标准库学习】re模块

1.什么是re 正则表达式一门相对通用的语言,在python中也有对正则表达式的支持,那就是的内置re模块.正则表达式就是一系列的规则去匹配字符串然后进行相应的操作,这些规则网上一搜一大片,而re则是运用正则表达式来提供一系列的功能强大的接口让我们来调用.通常我们在对日志文件进行操作的时候会对正则表达式运用的比较多来得到我们希望得到的数据. 2.python中的转义符 正则表达式中通常用反斜杠'\'来代表转义,'\d'代表数字等,但是python本身也是通过反斜杠'\'来表示转义,所以就和正则表

python requests库学习笔记(上)

尊重博客园原创精神,请勿转载! requests库官方使用手册地址:http://www.python-requests.org/en/master/:中文使用手册地址:http://cn.python-requests.org/zh_CN/latest/: requests库作者Kenneth Reitz个人主页:https://www.kennethreitz.org/: requests库github地址:https://github.com/requests/requests: requ

python标准库学习-random

想想这么多年,也是没有好好梳理一下自己的知识体系,以至于总是会有书到用时方恨少的遗憾. 最近既然有学习的动力,干脆就趁着这份工作不是特别忙的机会,写一点东西吧,也理理自己的逻辑思维能力. python有哪些库? 这个问题呢可以参照http://blog.csdn.net/python_wangjunji/article/details/8689297这篇博文来看. 当然咯,首先要先推荐一个可厉害的学习程序:Dash.学编程必备查询库,各种语言,专治"我要看源码病". 那第一篇呢,我就先

python requests库学习笔记(下)

1.请求异常处理 请求异常类型: 请求超时处理(timeout): 实现代码: import requestsfrom requests import exceptions        #引入exceptions A:请求超时 def timeout_request():    try:        response = requests.get(build_uri('user/emails'), timeout=0.1)    except exceptions.Timeout as e:

python Request库

命令行查看版本:python --version pip --version pip常用命令// 安装包pip install xxx// 升级包pip install -U xxx// 卸载包pip uninstall xxx// 列出已安装的包pip list windows下安装virtualenv并激活pip install virtualenv// 创建一个不可见目录.envvirtualenv .env// 激活virtualenv环境.env\scripts\activate 安装