三十一、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中不能有多个构造函数. ...
随机推荐
- APP登录时Token认证过程
1.App登录Token登录机制: 一般第一次安装App后,会让你进行注册后登录,而只要登录成功后,以后的每次启动App都是登录状态, 不需要每次启动时再登录.但有些App你若长期没有启动,它会提示你 ...
- tensorflow学习笔记一----------tensorflow安装
2016年11月30日,tensorflow(https://www.tensorflow.org/)更新了0.12版本,这标志着我们终于可以在windows下使用tensorflow了(但是还是推荐 ...
- Linux — 基础知识
一 从认识操作系统开始 1.1 操作系统简介 我通过以下四点介绍什么操作系统: 操作系统(Operation System,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石: 操作 ...
- 异步Promise及Async/Await可能最完整入门攻略
此文只介绍Async/Await与Promise基础知识与实际用到注意的问题,将通过很多代码实例进行说明,两个实例代码是setDelay和setDelaySecond. tips:本文系原创转自我的博 ...
- windows套接字阻塞模式编程实例
一.阻塞模式套接字服务端和客户端的运行流程如下: 1.1 服务器运行过程如下: 1.服务器启动后,等待客户端的连接请求.2.当收到客户端的请求后,在界面上显示该客户端的IP地址和端口,以及“Hello ...
- vue手动制作地址选择器
方法一:4级地址选择器(基于elementui Cascader 级联选择器) 推荐 效果图: 组件源码: <template> <div class="select- ...
- [七月挑选]windows上面的发音
title: windows上面的发音 开始 love.vbs: CreateObject("SAPI.SpVoice").Speak "I love YOU" ...
- UITableView 在没有数据时候分割线问题
在iOS4.3中可以直接设置footer为nil,但是在5.0不行,因为UITableView会默认生成一个Footer. (详见iOS Release Notes中的说明:Returning nil ...
- IntelliTrace调试
当您进行调试时,IntelliTrace 将在后台收集有关托管应用程序的数据,其中包括来自许多框架组件(例如 ADO.NET.ASP.NET 和 System.XML)的信息.这些 IntelliTr ...
- Centos7没有Ifconfig命令该怎么办?
centos7没有ifconfig命令该怎么办? linux系统查看ip地址常用命令是[ifconfig],CentOS 7.0最小安装是没有ifconfig命令怎么办?当然可用[ip addr]查看 ...