一、

浏览网页的时候,发送的请求。服务器反回来的永远是字符串,由于服务器后台使用的语言不通,所以就需要用工具反解,这里用到了json

json方法一

json.loads()将字符串转化为python的基本数据类型(内部必须是双引号)

中国天气网城市代码网络接口来

代码实现:

 req = urllib.request.Request("http://www.weather.com.cn/adat/sk/101010300.html")
r = urllib.request.urlopen(req)
result = str(r.read(),encoding="utf-8")
print(result,type(result)) dic = json.loads(result)
print(dic,type(dic))
打印输出如下: {"weatherinfo":{"city":"朝阳","cityid":"","temp":"","WD":"西南风","WS":"2级","SD":"22%","WSE":"","time":"10:25","isRadar":"","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":""}} <class 'str'>
{'weatherinfo': {'city': '朝阳', 'cityid': '', 'temp': '', 'WD': '西南风', 'WS': '2级', 'SD':
'22%', 'WSE': '', 'time': '10:25', 'isRadar': '', 'Radar': 'JC_RADAR_AZ9010_JB', 'njd': '暂无实况', '
qy': ''}} <class 'dict'>

json.dumps()将python的基本数据类型转换成字符串

 user_list = ["eric","tony"]
r = json.dumps(user_list)
print(s,type(r))
打印输出如下:
{"desc":"invilad-citykey","status":"1002"} <class 'str'>

还有两个方法:

json.load()

json.dump()

 #下面不经常用
#1、下面作用先把dic转化为字符串,2、然后创建db文件,并且把内容写到里面
dic = {'k1':12,'k2':2}
json.dump(dic,open('db','w'))
上面只要执行就会自动创建db文件 #1、先读db中的内容,2、将字符串转化为字典
r = json.load(open("db","r"))
print(r,type(r))

json只能反解一些通用的,如果只是python特有的,那么就反解不了了

二、第三方模块的安装

第三方模块的安装

第三方模块的安装

1)  安装  利用软件管理工具 pip3

安装pip3,依赖setuptools

把pip3安装到环境变量里面,之后如果想安装其他模块在终端输出pip3 install 第三方模块

2)  源码安装

1、  下载源码包,安装、解压、进入目录找到setup.py

2、  打开终端进入setup目录中

3、  执行setup.py install

三、requests初式

1)安装pip3,python3中在scripts包里面包含所以,只需要把包含scropts文件包的路径安装在当前用户下的环境变量里面,之后打开cmd 直接pip3 install requests

x=requests.get(url)获取返回值

x.text   获取返回的内容

import requests
response = requests.get("http://www.weather.com.cn/adat/sk/101010300.html")
response.encoding= "utf-8" #调整乱码
result = response.text #.text:获取返回的内容
print(result)

四、XML初试

1、腾讯qqOnline接口

http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=3110436742

import requests
#使用第三方模块requests发送HTTP请求,或者XML格式内容
r = requests.get("http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=3110436742")
result = r.text #字符串类型
from xml.etree import ElementTree as ET
#解析XML格式内容
#XML接收一个参数;字符串,格式化为特殊的对象
node = ET.XML(result)
#json.loads(result)
#获取内容
if node.text == "Y":
print("在线")
else:
print("离线") 打印出:
在线

列车服务接口

http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import urllib
import requests
from xml.etree import ElementTree as ET # 使用内置模块urllib发送HTTP请求,或者XML格式内容
"""
f = urllib.request.urlopen('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=G666&UserID=')
result = f.read().decode('utf-8')
""" # 使用第三方模块requests发送HTTP请求,或者XML格式内容
r = requests.get('http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx/getDetailInfoByTrainCode?TrainCode=k234&UserID=')
result = r.text # 解析XML格式内容
root = ET.XML(result)
#iter代表迭代
for node in root.iter("TrainDetailInfo"):
print(node.find("TrainStation").text,node.find("StartTime").text)
# for node in root.iter('TrainDetailInfo'):
# print(node.find('TrainStation').text,node.find('StartTime').text,node.tag,node.attrib)
# #node.attrib是打印出TrainDetailInfo 后面属性的字典的形式 打印输出:
E:/project/untitled3/python/模块/xml模块/列车时刻表.py
上海(车次:K234\K235) 11:12:00
昆山 11:50:00
苏州 12:18:00
南京 15:15:00
蚌埠 18:03:00
徐州 20:25:00
砀山 21:27:00
商丘 22:16:00
宁陵县 22:48:00
兰考 23:24:00
开封 23:59:00
郑州 01:15:00
安阳 03:41:00
邯郸 04:34:00
邢台 05:09:00
石家庄 None

第十二、模块二、调用中国天气网和qqOnline及TrainTimeWebService接口来突出Json方法的更多相关文章

  1. Python爬取中国天气网

    Python爬取中国天气网 基于requests库制作的爬虫. 使用方法:打开终端输入 “python3 weather.py 北京(或你所在的城市)" 程序正常运行需要在同文件夹下加入一个 ...

  2. 中国天气网API接口

    http://www.weather.com.cn/data/sk/101010100.html http://www.weather.com.cn/data/cityinfo/101010100.h ...

  3. 中国天气网 JSON接口的城市编码解析及结果

    最近在弄一个Android应用,其中一个功能是天气情况展示,准备使用google的天气API服务(http://www.google.com/ig/api?hl=zh-cn&weather=, ...

  4. 初识python 之 爬虫:爬取中国天气网数据

    用到模块: 获取网页并解析:import requests,html5lib from bs4 import BeautifulSoup 使用pyecharts的Bar可视化工具"绘制图表& ...

  5. C#实现中国天气网JSON接口测试

    接上一篇,经过反复的查看,最终从这篇文章中找到了一个可用的JSON接口,于是研究了一下中国天气网JSON接口的测试: 和上一篇XML接口测试的原理是一样的,只是需要安装一下Newtonsoft.Jso ...

  6. scrapy实例:爬取中国天气网

    1.创建项目 在你存放项目的目录下,按shift+鼠标右键打开命令行,输入命令创建项目: PS F:\ScrapyProject> scrapy startproject weather # w ...

  7. 中国天气网-天气预报接口api

    中国天气网地址:http://www.weather.com.cn 请求服务 : 查询实时天气信息 http://www.weather.com.cn/data/sk/101110101.html 在 ...

  8. 天气预报接口api(中国天气网)

    中国天气weather.comhttp://m.weather.com.cn/data/101110101.html(六天预报) http://www.weather.com.cn/data/sk/1 ...

  9. C#实现中国天气网XML接口测试

    点击链接查看中国天气网接口说明,最近想研究一下接口测试,源于最近一次和某公司的技术总监(交大校友)谈话,发现接口测试的需求是比较大的,于是想要研究一下. 好不容易在网上找到了一个关于中国天气网的接口说 ...

随机推荐

  1. matplotlib表面三维图

    1.basic numpy.meshgrid 由一维数组到二维数组,用于生成网格数据 matplotlib python绘图库 2.code In [88]: from mpl_toolkits.mp ...

  2. Python 多线程和单线程本质应用区别

    先了解下CPU的简单运行原理: 它运行速度非常快,1s内可以运行成千上万次,一个核心可以把1s切分成成千上万个时间片段,这个核心确实同时只能运行一个任务:但是可以将多个任务交替执行,比如上一个时间片段 ...

  3. atitit.bsh BeanShell 的动态脚本使用java

    atitit.bsh BeanShell 的动态脚本使用java 1.1. BeanShell是一个小巧免费的JAVA源码解释器 ,支持对象式的脚本语言特性,亦可嵌入到JAVA源代码中. 亦可嵌入到J ...

  4. NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr5.2.1部署(三)

     Precondition: hadoop 2.7.1 hbase 0.98.13 solr 5.2.1 / Apache Solr 4.8.1 http://archive.apache.org ...

  5. ”非常危险“的Linux命令

    Linux命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险.所以,在输入某些命令前,请多多检查再敲回车. rm –rf rm –rf是删除文件夹和里面附带内容的一种最 ...

  6. 创建自己的Spring Boot Starter

    抽取通用模块作为项目的一个spring boot starter.可参照mybatis的写法. IDEA创建Empty Project并添加如下2个module,一个基本maven模块,另一个引入sp ...

  7. 天兔插件监控mysql

    Lepus3.8-天兔mysql数据库监控系统搭建 原创ixhao2016-08-24 02:36:23评论(11)3183人阅读 Lepus3.8-天兔mysql数据库监控系统搭建 lepus是一款 ...

  8. 浅谈 MVP in Android(转)

    我自己写的demo:https://pan.baidu.com/s/1dFImVYD 一.概述 对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让 ...

  9. FastDFS分布文件系统

    FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片.视频.文档等文件.对于互联网应用,和其他分布式文件系统相比,优势非常明显.具体情况大家可以看相关的介绍文档,包括 ...

  10. 地形混合shader

    1.四个贴图混合 Shader "Custom/BlendTex_surface" { Properties { _RTexture("Red Channel Textu ...