python urllib和requests模块

  urllib模块是python自带的,直接调用就好,用法如下:

 1 #处理get请求,不传data,则为get请求
 2 import urllib
 3 from urllib.request import urlopen
 4 from urllib.parse import urlencode
 5 url=‘http://127.0.0.1:1990/login‘
 6 data={"username":"admin","password":123456}
 7 req_data=urlencode(data)#将字典类型的请求数据转变为url编码
 8 res=urlopen(url+‘?‘+req_data)#通过urlopen方法访问拼接好的url
 9 res=res.read().decode()#read()方法是读取返回数据内容,decode是转换返回数据的bytes格式为str
10 print(res)
11
12 #处理post请求,如果传了data,则为post请求
13 import urllib
14 from urllib.request import urlopen
15 from urllib.request import Request
16 from urllib.parse import urlencode
17 url=‘http://127.0.0.1:1990/login‘
18 data={"username":"admin","password":123456}
19 data=urlencode(data)#将字典类型的请求数据转变为url编码
20 data=data.encode(‘ascii‘)#将url编码类型的请求数据转变为bytes类型
21 req_data=Request(url,data)#将url和请求数据处理为一个Request对象,供urlopen调用
22 with urlopen(req_data) as res:
23     res=res.read().decode()#read()方法是读取返回数据内容,decode是转换返回数据的bytes格式为str
24 print(res)

  相比较urllib模块,requests模块要简单很多,具体用法如下:

 1 # get请求
 2 import requests
 3 url=‘http://127.0.0.1:1990/login‘
 4 data={"username":"admin","password":123456}
 5 res=requests.get(url,data)#直接用requests.get(url,data)即可,其中.get表示为get方法,不需要对字典类型的data进行处理
 6 #res=res.text#text方法是获取到响应为一个str,也不需要对res进行转换等处理
 7 res=res.json()#当返回的数据是json串的时候直接用.json即可将res转换成字典
 8 print(res)
 9
10 #post请求
11 import requests
12 url=‘http://127.0.0.1:1990/login‘
13 data={"username":"admin","password":123456}
14 res=requests.post(url,data)#直接用requests.post(url,data)即可,其中.post表示为post方法,不需要对字典类型的data进行处理
15 #res=res.text#text方法是获取到响应为一个str,也不需要对res进行转换等处理
16 res=res.json()#当返回的数据是json串的时候直接用.json即可将res转换成字典
17 print(res)
18
19 #当传参格式要求为json串时
20 import requests
21 url=‘http://127.0.0.1:1990/login‘
22 data={"username":"admin","password":123456}
23 res=requests.post(url,json=data)#只需要在这里指定data为json即可
24 #res=res.text#text方法是获取到响应为一个str,也不需要对res进行转换等处理
25 res=res.json()#当返回的数据是json串的时候直接用.json即可将res转换成字典
26 print(res)
27
28 #传参含cookie
29 import requests
30 url=‘http://127.0.0.1:1990/login‘
31 data={"username":"admin","password":123456}
32 cookie={"sign":"123abc"}
33 res=requests.post(url,json=data,cookies=cookie)#只需要在这里指定cookies位cookie即可,headers,files等类似
34 res=res.json()
35 print(res)

  显而易见,requests模块要方便很多,建议大家使用requests模块。

时间: 2024-11-07 17:04:23

python urllib和requests模块的相关文章

python网络编程----requests模块

python访问网站可以用标准模块--urllib模块(这里省略),和requests(安装-pip install requests)模块,requests模块是在urllib的基础上进行的封装,比urllib模块功能更强到,易用 import json,requests #发送get请求 url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马' req = requests.get(url) #发送get请求 print(req.t

Python高手之路【八】python基础之requests模块

1.Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 太渣了.它是为另一个时代.另一个互联网所创建的.它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务. 在Python的世界里,事情不应该这么麻烦. Requests 使用的是 urllib3,因此继承了它的所有特性.Request

Python接口测试-使用requests模块发送post请求

本篇主要记录下使用python的requests模块发送post请求的实现代码. #coding=utf-8 import unittest import requests class PostTest(unittest.TestCase): def setUp(self): host = 'https://httpbin.org/' endpoint = 'post' self.url = ''.join([host, endpoint]) def testPost(self): params

python学习-使用requests模块查询ip地址

思路是,使用requests模块调用阿里的ip接口查询ip归属地 关于requests模块的使用,可以查询相关文档,很强大,本次不做描述 #!/usr/bin/python #coding=utf-8 import requests   def checkip(ip):       URL = 'http://ip.taobao.com/service/getIpInfo.php'     try:         r = requests.get(URL, params=ip, timeout

Python网络爬虫-requests模块(II)

有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == "__main__": #张三人人网个人信息页面的url url = 'http://www.renren.com/289676607/profile' #伪装UA

python 爬虫 基于requests模块的get请求

需求:爬取搜狗首页的页面数据 import requests # 1.指定url url = 'https://www.sogou.com/' # 2.发起get请求:get方法会返回请求成功的响应对象 response = requests.get(url=url) # 3.获取响应中的数据:text属性作用是可以获取响应对象中字符串形式的页面数据 page_data = response.text # 4.持久化数据 with open("sougou.html","w&

Python urllib和urllib2模块学习

Python标准库中有许多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib和urllib2 这个 HTTP 客户端库.这里总结了一些 urllib和urlib2 库的使用细节. Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 一.urllib常用函数介绍: 1. urlopen()函数:即创建一个类文件对象为指定的 url 来读取. 可以使用help(urllib.urlopen)查看函数

python 爬虫 基于requests模块发起ajax的get请求

基于requests模块发起ajax的get请求 需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情数据 用抓包工具捉取 使用ajax加载页面的请求 鼠标往下下滚轮拖动页面,会加载更多的电影信息,这个局部刷新是当前页面发起的ajax请求, 用抓包工具捉取页面刷新的ajax的get请求,捉取滚轮在最底部时候发起的请求 这个get请求是本次发起的请求的url ajax的get请求携带参数 获取响应内容不再是页面数据,是json字符串,是通过异步请求获取的电影

python接口测试中—Requests模块的使用

Requests模块的使用 中文文档API:http://2.python-requests.org/en/master/ 1.发送get.post请求 import requests reponse = requests.get("http://www.baidu.com") reponse = requests.post("http://www.baidu.com") 2.响应的属性 查看响应内容 response.text 属性 respone.content