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错误求解的主要内容,如果未能解决你的问题,请参考以下文章

Sublime text 3 SVN插件及使用方法

Python3 - 不能在 __import__ 对象上调用 reload()?

python3 安装Crypto.Cipher import AES

关于Python3的import问题(pycharm可以运行,命令行import错误)

Python3 - 无法在“import cairosvg”上加载库

import pyttsx在python 2.7中工作,但不在python3中