Urllib 模块

Urllib模块

在python2和python3中的差异 在python2中,urllib和urllib2各有各个的功能,虽然urllib2是urllib的升级版,但是urllib2还是不能完全替代urllib,但是在python3中,全部封装成一个类,urllib

在python2和python3中的差异 Urllib2可以接受一个Request对象,并以此可以来设置一个URL的headers,但是urllib只接受一个URL。这就意味着你不能通过urllib伪装自己的请求头。 Urllib模板可以提供运行urlencode的方法,该方法用于GET查询字符串的生成,urllib2的不具备这样的功能,而且urllib.quote等一系列quote和unquote功能没有被加入urllib2中,因此有时也需要urllib的辅助。这就是urllib和urllib2一起使用的原因. quote用来url转码的

通过urllib下载图片并保存

#!/usr/bin/env python #coding:utf8

import urllib3from urllib import  requestimport  codecs

url = "http://5b0988e595225.cdn.sohucs.com/images/20170926/b2d72c4b34c84f94b2ceb639a56de24f.jpeg"headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"}req = request.Request(url=url,headers=headers)res = request.urlopen(req)context = res.read()with codecs.open("wx.jpg","wb") as fd:    fd.write(context)# request.urlretrieve(url,"wx.jpg")

下载的test1.jpg

urllib.request.urlopen(url, data=None, timeout=None)
url 需要打开的网站
data
psot提交的数据
Timeout 网站访问的超时时间
但是没法伪装我们的头信息
from urllib import request
req = request.Request(url, headers=headers, data=data)
html = request.urlopen(req).read()

通过上节获取的IP实现代理:

#!/usr/bin/env python
#coding:utf8
from urllib import request, parse
data = {
        ‘first‘: ‘true‘,
        ‘pn‘: 1,
        ‘kd‘: ‘Python‘
    }
url = ‘http://2017.ip138.com/ic.asp‘

proxy = request.ProxyHandler({‘http‘:‘61.155.164.109:3128‘})  # 设置proxy
opener = request.build_opener(proxy)  # 挂载opener
# opener = request.build_opener()  # 挂载opener
request.install_opener(opener)  # 安装opener
data = parse.urlencode(data).encode(‘utf-8‘)
page = opener.open(url, data).read()
print(type(page))
print(page.decode("gbk"))

原文地址:https://www.cnblogs.com/pythonlx/p/8325698.html

时间: 2024-11-02 20:55:57

Urllib 模块的相关文章

学习Python的urllib模块

 urllib 模块作为Python 3 处理 URL 的组件集合,如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块,这些现在都是 Python 3 的 urllib 包的一部分,具体如何来体现它们之间的关系 Python 3 的 urllib 模块是一堆可以处理 URL 的组件集合.如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块.这些现在

定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容。提示(可以了解python的urllib模块)

1 定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容.提示(可以了解python的urllib模块) 2 import urllib.request 3 4 def get_page(url): 5 response = urllib.request.urlopen(url) 6 html = response.read() 7 return html 8 9 print(get_page(url='https://www.baidu,com'))

urllib模块中的方法

urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google >>> import urllib >>> f = urllib.urlopen('http://www.google.com.hk/') >>> firstLine = f.readline()   #读取html页面的第一行 >>>

Python学习-20.Python的Urllib模块

除了 Http 模块可以模拟 Http 请求外,使用 Urllib 模块也是可以模拟 Http 请求的,只不过功能相对弱一点. 1 import urllib.request 2 3 opener = urllib.request.urlopen("http://www.baidu.com") 4 bytes = opener.read() 5 html = bytes.decode('gbk','ignore') 6 print(html) 7 opener.close() 获取百度

python3.5中urllib模块抓取指定URL内容

python3.5中把python中的urllib和urllib2模块合并为urllib模块啦.urllib模块下有五个类: 抓取指定URL下内容封装成一个类文件对象,其中的很多方法操作和文件操作是一样的.

全局变量 urllib模块 json模块

1.vars()  查看一个.py文件中的全局变量 print(vars()) #重点 __name__': '__main__ '__file__': 'C:/Users/lenovo/PycharmProjects/老男孩/pppppppp.py' {'__spec__': None, '__name__': '__main__', '__builtins__': <module 'builtins' (built-in)>, '__file__': 'C:/Users/lenovo/Py

Python内置的urllib模块不支持https协议的解决办法

Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常.寻根朔源发现是python内置的urllib模块不支持https协议. >>> import urllib>>> urllib.urlopen('http://www.baidu.com')<addinfourl at 269231456 whose fp = <socket._fileo

[转]Python核心模块——urllib模块

现在Python基本入门了,现在开始要进军如何写爬虫了! 先把最基本的urllib模块弄懂吧. urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google >>> import urllib >>> f = urllib.urlopen('http://www.google.com.hk/') >>> first

python3.x中的urllib模块

来源http://my.oschina.net/u/999436/blog/113317 我尝试着找找python3.3.0的change log.里面并没有找到urllib的修改记录.然而这一修改记录却在python3.0的change log中. 原文是这样写的: a new urllib package was created. It consists of code from urllib, urllib2, urlparse, and robotparser. The old modu

Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

Python3学习笔记(urllib模块的使用) 1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) -         url:  需要打开的网址 -         data:Post提交的数据 -         timeout:设置网站的访问超时时间 直接用urllib.request模块的urlopen()