三十一、python中urllib和requests包详解
A、urllib
import urllib
import urllib.request
import json '''
1、loads,dumps
json.loads():将字符串转化成python的基础数据类型(字符换===》列表字典元祖,字典中必须是“”)
json.dumps():将python的python基本数据类型转化成字符串(列表,字典===》字符串)
'''
s='{"status":1000,"desc":"OK"}' #里面的值必须是双引号 result=json.loads(s) #将一个形似字典,列表,元祖的字符串转化成字典或者列表,元祖
print(result,type(result)) s1=json.dumps(result)
print (s1,type(s1))
----------------------------------------------------
{'status': 1000, 'desc': 'OK'} <class 'dict'>
{"status": 1000, "desc": "OK"} <class 'str'>
---------------------------------------------------- '''
2、dump,load
json.dump():
json.load()
'''
s2=urllib.request.Request("http://www.weather.com.cn/adat/sk/101050101.html")
r=urllib.request.urlopen(s2)
result=str(r.read(),encoding="utf8")
print (result,type(result))
res=json.loads(result)
print (res,type(res))
----------------------------------------------------
{"weatherinfo":{"city":"哈尔滨","cityid":"101050101","temp":"5","WD":"南风","WS":"3级","SD":"31%","WSE":"3","time":"10:00","isRadar":"1","Radar":"JC_RADAR_AZ9451_JB","njd":"暂无实况","qy":"999"}} <class 'str'>
{'weatherinfo': {'city': '哈尔滨', 'cityid': '101050101', 'temp': '5', 'WD': '南风', 'WS': '3级', 'SD': '31%', 'WSE': '3', 'time': '10:00', 'isRadar': '1', 'Radar': 'JC_RADAR_AZ9451_JB', 'njd': '暂无实况', 'qy': '999'}} <class 'dict'>
----------------------------------------------------
'''
3、requests:第三方包
'''
import requests response=requests.get("http://www.weather.com.cn/adat/sk/101050101.html")
response.encoding="utf-8"
result=response.text
#result=response.content
print (result,type(result))
------------------------------------------------------------
{"weatherinfo":{"city":"哈尔滨","cityid":"101050101","temp":"5","WD":"南风","WS":"3级","SD":"31%","WSE":"3","time":"10:00","isRadar":"1","Radar":"JC_RADAR_AZ9451_JB","njd":"暂无实况","qy":"999"}} <class 'str'>
------------------------------------------------------------
print("-------------------------------------------------------------------------------------")
三十一、python中urllib和requests包详解的更多相关文章
- python中argparse模块用法实例详解
python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...
- python中的subprocess.Popen()使用详解---以及注意的问题(死锁)
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数 ...
- **Python中的深拷贝和浅拷贝详解
Python中的深拷贝和浅拷贝详解 这篇文章主要介绍了Python中的深拷贝和浅拷贝详解,本文讲解了变量-对象-引用.可变对象-不可变对象.拷贝等内容. 要说清楚Python中的深浅拷贝,需要 ...
- Android SDK中的Support兼容包详解
这篇文章主要介绍了Android SDK中的Support兼容包详解,本文详细区分了Support Library的版本区别.各种Theme的概念和使用注意事项等内容,需要的朋友可以参考下 背景 来自 ...
- Python中random模块生成随机数详解
Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...
- Python中的变量和作用域详解
Python中的变量和作用域详解 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部 ...
- Python中%r和%s的详解及区别_python_脚本之家
Python中%r和%s的详解及区别_python_脚本之家 https://www.jb51.net/article/108589.htm
- 第7.15节 Python中classmethod定义的类方法详解
第7.15节 Python中classmethod定义的类方法详解 类中的方法,除了实例方法外,还有两种方法,分别是类方法和静态方法.本节介绍类方法的定义和使用. 一. 类方法的定义 在类中定 ...
- python学习 (三十一) python中的class
1 python的类: Python类都继承自object. __init__: 构造函数,如果不写,有一个默认的. __init__: 这个构造函数只能有一个,Python中不能有多个构造函数. ...
随机推荐
- [BZOJ 3930] [CQOI 2015]选数(莫比乌斯反演+杜教筛)
[BZOJ 3930] [CQOI 2015]选数(莫比乌斯反演+杜教筛) 题面 我们知道,从区间\([L,R]\)(L和R为整数)中选取N个整数,总共有\((R-L+1)^N\)种方案.求最大公约数 ...
- MFC- 网络编程
一.MFC网络编程 a)CAsyncSocket用于异步非阻塞类,用UDP通信: b)CAsyncSocket的子类(派生类):Csocket同步阻塞类,用于TCP通信: c)通信前,必须调用AfxS ...
- 事件流程以及dom2级事件绑定
事件流程分为三个阶段:捕获阶段.目标阶段.冒泡阶段. 捕获阶段:事件从最顶层元素开始执行,一层层往下,直到精确元素. 目标阶段:事件在精确元素上执行. 冒泡阶段:事件从精确元素开始执行,一层层往上,直 ...
- JAVA中自定义properties文件介绍
Gradle中的使用 1. 使用gradle.properties buid.gradle 和 gradle.properties可以项目使用,在同一个项目中,build.gradle可以直接获取其同 ...
- mkpasswd - 为用户产生新口令
总览 SYNOPSIS mkpasswd [ args ] [ user ] 介绍 INTRODUCTION mkpasswd 为用户产生口令并自动应用.它是基于O'Reilly的书<Explo ...
- php 多维数组转一维数组
1.巧用 RecursiveIteratorIterator $k_arrays_arrays_tmp = iterator_to_array(new RecursiveIteratorIterato ...
- PAT Basic 1028 人口普查 (20 分)
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- socket keepalive 服务端异常断线
异常断线 客户端检测不到 没有重连
- GUI学习之十二——QTextEdit学习总结
在学习了QFrame和QAbstractScrollArea两个父类后,接下来是一个重头戏:QTextEdit. 一.QTextEdit特性 QTextEdit是一个高级的WYSIWYG(What Y ...
- es相关查询接口
1.查看指定es中所有的索引 GET http://IP:9200/_cat/indices?v 2.修改指定索引的相关配置信息 PUT http://IP:9200/index_name/_sett ...