Python 学习之urllib模块---用于发送网络请求,获取数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 学习之urllib模块---用于发送网络请求,获取数据相关的知识,希望对你有一定的参考价值。

查询城市天气最后一节

需要导入上一节的结果city10.py

 

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import urllib.request
from  city10 import city     #从city10.py里导入city变量名称
import json         #json包,loads的用法
import traceback


cityname=input(‘你想查询什么城市的天气?\n‘)

citycode=city.get(cityname) # citycode=city[cityname]
#print (citycode)

#print (cityname)

if citycode:
    try:
        web=‘http://www.weather.com.cn/data/cityinfo/%s.html‘ %citycode
        content=urllib.request.urlopen(web).read().decode()
        data=json.loads(content)
        #print (data)
        print(type(content))
        print(type(data))

        result=data[‘weatherinfo‘] #获取weatherinfo键的值为{‘cityid‘:‘101010100‘}
        # 就好比result={}
        a=(‘%s\n%s~%s‘)%(result[‘weather‘], result[‘temp1‘], result[‘temp2‘])
        print(a)
    except Exception as e:
        #traceback.print_exc()
        print(Exception,":",e)
        print(‘查询失败‘)
else:
    print(‘没有找到该城市!‘)

以上是关于Python 学习之urllib模块---用于发送网络请求,获取数据的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之Web开发及图形用户界面模块

python学习之爬虫网络数据采集

python学习之argparse模块

python学习之argparse模块

入门学Python一定要知道的requests模块安装及使用

python学习之邮件