• python3.5.3rc1学习十:网络请求


    #sys模块
    import sys

    sys.stderr.write('This is stderr text ')
    # 因为从定向有缓冲区,所以需要以下这行代码
    sys.stderr.flush()
    sys.stdout.write('This is stdout text ')

    # 获取命令行参数,默认sys.argv[0]表示代码本身文件路径
    print(sys.argv)
    print("------------------------------")

    import urllib.request

    # 向web服务器发送一个请求,打开百度学术首页
    ##x = urllib.request.urlopen("http://xueshu.baidu.com/")
    ##
    ##print(x.read())

    import urllib.parse

    # 发送一个带参数的请求

    url = 'http://php.weather.sina.com.cn/search.php'

    values = {
    'city':'北京',
    'dpc':'1'
    }

    '''''
    city=北京,这个字段需要转码,转成后是%B1%B1%BE%A9
    你可以打开http://php.weather.sina.com.cn,搜索北京看看是不是这个转码
    这个转码过程就叫encode

    '''
    data = urllib.parse.urlencode(values)
    # 参数的编码格式是Unicode,这里用utf-8,最适合网络传输的编码协议
    data = data.encode('utf-8')
    # 调用一个有url和参数的请求,通过Request(url,data)
    req = urllib.request.Request(url,data)
    resq = urllib.request.urlopen(req)
    # 定义一个响应返回数据respData,也就是读取查询北京天气的页面
    respData = resq.read()
    # 打印北京天气查询结果页的源代码
    print(respData)

  • 相关阅读:
    ubuntu使用iso作为本地源
    ubuntu配置简单的DNS服务器
    core data
    Core Animation教程
    制作framework&静态库
    notes
    textkit
    coretext
    nsset
    iOS Development Sites
  • 原文地址:https://www.cnblogs.com/51testing/p/7928548.html
Copyright © 2020-2023  润新知