python3 import urllib.request错误求解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 import urllib.request错误求解相关的知识,希望对你有一定的参考价值。
import urllib.request显示没有request ,但是from urllib import request就可以,为什么?这两个写法有什么区别吗?
使用 import urllib.request 导入,使用时需要带模块名,即urllib.reuqest使用 from urllib import request导入,使用时不需要带模块名,即直接使用request
import module 和 from module import,区别是前者所有导入的东西使用时需加上模块名,而后者则不需要。
当然也可以 import urllib.request as request 起别名的方式直接使用request 参考技术A 有区别。python能导入的有module和package,module是一个py文件,package是一堆py文件的一个特殊文件夹,urllib就属于package。具体的度娘追问
啊?可以举例子说下吗?小白不明白
追答import urllib.request 可以导入没有问题
追问啊?import urllib.request显示没有request
追答request & requests 模块
request 模块
#requests 库
#python标准库中提供了: urllib等模块以供http请求,但是,它的api太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。
# /usb/bin/env python
#! -*- encoding=utf=8 -*-
#example:
import urllib.request
#例子1
f = urllib.request.urlopen(‘http://www.webxml.com.cn//webservices/qqOnlineWebService.asmx/qqCheckOnline?qqCode=424662508‘)
result = f.read().decode(‘utf=8‘)
print(result)
#例子2 带请求头
req = urllib.request.Request("http://www.example.com")
req.add_header("Referer","http://www.python.org")
r = urllib.request.urlopen(req)
result = f.read().decode(‘utf-8‘)
print(result)
requests 模块
requests 模块的安装
pip3 install requests
#使用模块
#1 . 无参数实例
import requests
ret = requests.get(‘https://github.com/timeline.json‘)
print(ret.url)
print(ret.text)
#有参数实例
import requests
payload = {‘key1‘:‘value1‘,‘key2‘:‘value2‘}
ret = requests.get("http://httpbin.org/get",params=payload)
print(ret.url)
print(ret.text)
1 post 实例:
import requests
payload = {‘key1‘:‘value1‘,‘key2‘:‘value2‘}
ret = requests.post("http://httpbin.org/post",data=payload)
print(ret.text)
2 发送请求头和数据实例
import requests
import json
url = ‘https://api.github.com/some/endpoint‘
payload = {‘some‘:‘data‘}
headers = {‘content-type‘:‘application/json‘}
ret = requests.post(url,data=json.dumps(payload),headers=headers)
print(ret.text)
print(ret.cookies)
以上是关于python3 import urllib.request错误求解的主要内容,如果未能解决你的问题,请参考以下文章
Python3 - 不能在 __import__ 对象上调用 reload()?
python3 安装Crypto.Cipher import AES
关于Python3的import问题(pycharm可以运行,命令行import错误)