网页下载器:将互联网上URL对应的网页下载到本地的工具,是爬虫的核心组件 urllib2下载网页的三种方法 对应实例代码如下: #coding:utf8 import urllib2...# 获取读取到的内容的长度 print len(response1.read() ) 第一种方法 –> 直接请求 200 4305 #coding:utf8 import urllib2...response2.getcode() print len(response2.read()) 第二种方法: 200 4305 #coding:utf8 import urllib import urllib2...cookielib.CookieJar() #创建1个opener opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) # 给urllib2...安装opener urllib2.install_opener(opener) # 使用带有cookie的urllib2访问网页 response3 = urllib2.urlopen(url) print
urllib2 是Python自带的标准模块, 用来发送HTTP Request的。 ...类似于 .NET中的, HttpWebRequest类 urllib2 的优点 Python urllib2 发出的HTTP Request, 能自动被Fiddler截获, 方便了调试。...Python 可以自动处理Cookie urllib2 的缺点 Python urllib2 发出的http Request, 中的header 会被修改成“首字母大写”, 比如你的代码里写的header...Content-Type=application/x-www-form-urlencoded 实例一, Get方法, 并且自定义header # -* - coding: UTF-8 -* - import urllib2...() print response.geturl() print response.read() 实例三: Cookie 的处理 # -* - coding: UTF-8 -* - import urllib2
通过python 的 urllib2 模块,可以轻易的去模拟用户访问网页的行为。 这里将自己的学习过程简单的记录下来。...但不同于urllib 的是,urllib2 中的urlopen函数的第一个参数url 可以是一个Request 实例。...urlopen 函数的用法 In [12]: response = urllib2.urlopen('http://www.baidu.com') In [13]: response.read() # urllib2...在上一个例子中进行稍微的修改 import urllib import urllib2 values = {} values['username'] = "God" values['password...1、设置代理 import urllib2 proxy_handler = urllib2.ProxyHandler({"http" : 'http://11.11.11.11:8080'}) opener
在Python中有很多库可以用来模拟浏览器发送请求抓取网页,本文中介绍使用urllib2来实现获取网页数据。...urllib2是在Python2标准库中的,无需安装即可使用,在Python3中不能使用urllib2,在Python3中urllib2被改为了urllib.request,所以本文中的代码在Python3...这时候需要在url中拼接查询字符串,Python的urllib库提供了urlencode方法来将字典转换成查询字符串,而urllib2没有urlencode,所以可以通过urllib生成查询字符串来给urllib2...key_dict = {"wd": "python"} headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit...获取到的页面与我们在百度首页搜索python的页面相同。 ? 四、使用urllib2发送POST请求 上面的例子中,我们使用的都是GET方法,接下来我们使用POST方法。
这段时间想玩玩python网页信息爬取,在使用urllib2这个库的时候导入失败,提示信息为: im@58user:~/PythonProjects/IOTest$ python Python 2.7.6...4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import urllib2...Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.7/...urllib2.py", line 94, in import httplib File "/usr/lib/python2.7/httplib.py", line 80,...io.py", line 3, in os.remove(f) NameError: name 'f' is not defined 当然我仅仅时想在命令行测试一下是否能导入urllib2
urllib2 的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误。...下面的例子里我们访问了一个不存在的域名: # urllib2_urlerror.py import urllib2 requset = urllib2.Request('http://www.ajkfhafwjqh.com...注意,urllib2可以为我们处理重定向的页面(也就是3开头的响应码),100-299范围的号码表示成功,所以我们只能看到400-599的错误号码。...# urllib2_httperror.py import urllib2 requset = urllib2.Request('http://blog.baidu.com/itcast') try...改进版 由于HTTPError的父类是URLError,所以父类的异常应当写到子类异常的后面,所以上述的代码可以这么改写: # urllib2_botherror.py import urllib2
# -*- coding: utf-8 -*- import urllib2 # http发送报文 def httpsend(url, bw): req = urllib2.Request(
urllib2做为python下,在httplib之上再次封装的强大html协议实现,应用非常广泛。...虽然现在又有更新的requests,httplib2等,但urllib2胜在强大的应用基础以及众多的网络资料。...self.has_data(): return "POST" else: return "GET" Anyway: urllib2.py的源码文件在C:\Python27...\Lib目录下,C:\Python27是我的python2.7安装目录。..._context = context 3、direct转向自动支持 urllib2支持自动转向,假如服务器端有自动redirect,urllib2会自动去提交获取到转向链接,并执行结果。
当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。...有时候遇到下载某网站图片,需要对应的referer,否则无法下载图片,那是因为人家做了防盗链,原理就是根据referer去判断是否是本网站的地址,如果不是,则拒绝,如果是,就可以下载; 7....在Python中有很多库可以用来抓取网页,先学习urllib2。...urllib2模块直接导入就可以用,在python3中urllib2被改为urllib.request 开始爬虫需要准备的一些工具 (1)下载Fiddeler抓包工具,百度直接下载安装就可以(抓包) (...文件对象的操作方法 #read()方法就是读取文件里的全部内容,返回字符串 html = response.read() print html urllib2默认的User-Agent是Python-urllib
urllib2的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误。...#urllib2_urlerror.py import urllib2 request = urllib2.Request("http://www.sdfsdfsf.com") try: urllib2...注意,urllib2可以为我们处理重定向的页面(也就是3开头的响应码),100-299范围的号码表示成功,所以我们只能看到400-599的错误号码 #-*- coding:utf-8 -*- #23.urllib2..._urllib2_httperror.py import urllib2 request = urllib2.Request("http://blog.baidu.com/itcast") try...的父类是URLError,所以父类的异常应当写到子类异常的后面,所以上述的代码可以这么改写: #-*- coding:utf-8 -*- #24.urllib2_botherror.py import urllib2
在Python中,我们使用urllib2这个组件来抓取网页。 urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。...最简单的urllib2的应用代码只需要四行。...urllib2用一个Request对象来映射你提出的HTTP请求。...编码工作使用urllib的函数而非urllib2。 我们新建一个文件urllib2_test03.py来感受一下: 如果没有传送data参数,urllib2使用GET方式的请求。...默认的urllib2把自己作为“Python-urllib/x.y”(x和y是Python主版本和次版本号,例如Python-urllib/2.7), 这个身份可能会让站点迷惑,或者干脆不工作。
如果想详细的了解urllib2库,建议到官方查看,官方地址:https://docs.python.org/2/library/urllib2.html。.../usr/bin/env python #-*-coding:utf-8-*- import urllib2 print type(help(urllib2)) 首先我们来看一个完整的请求和响应内容.../usr/bin/env python # -*-coding:utf-8-*- import urllib2 import urllib def selCity(): '''使用urllib2.../usr/bin/env python # -*-coding:utf-8-*- import urllib2 import urllib def login(): '''通过一个接口来测试请求头.../usr/bin/env python # -*-coding:utf-8-*- import urllib2 import urllib def cookie(): '''通过自己设置添加
近来发现自己博客上python技术点的文章有点少,为了防止自己总是遗忘,还是写出来的好。...前几天刚看完《Linux/Unix设计思想》,真是一本不错的书,推荐想提高自己代码质量的童鞋看一下,里面经常提到要以小为美,一个程序做好一件事,短小精悍,因此我也按照这种思想来写python技术点的文章...开始了 一般情况下用python的童鞋是不可避免的要写一些爬虫程序的,因此对python中urllib和urllib2都比较熟悉。...下面的函数通过urllib2来模拟浏览器访问链接爬取内容: def get_url_content(url): i_headers = {"User-Agent": "Mozilla/5.0 (...headers=i_headers) return urllib2.urlopen(req).read() 仅仅是模拟浏览器访问依然是不行的,如果爬取频率过高依然会令人怀疑,那么就需要用到urllib2
#url还可以是其他协议的路径,比如ftp values = {'name' : 'Michael Foord', 'location' : 'Northampton', language' : 'Python...2.4 Timeout设置 在老版本中,urllib2 的 API 并没有暴露 Timeout 的设置,要设置 Timeout 值,只能更改 Socket 的全局 Timeout 值...importsocket socket.setdefaulttimeout(10) # 10 秒钟后超时 urllib2.socket.setdefaulttimeout(10) # 另一种方式 在新的 Python...2.6 Redirect重定向 urllib2 默认情况下会针对 3xx HTTP 返回码自动进行 Redirect 动作,无需人工配置。...虽然如此,我们还是能通过下面的方式,使 urllib2 能够发出 HTTP PUT 或 DELETE 的包: importurllib2 request =urllib2.Request(uri,
糖豆贴心提醒,本文阅读时间6分钟 前面说到了urllib2的简单入门,下面整理了一部分urllib2的使用细节。...新建test14来实现一个简单的代理Demo: 这里要注意的一个细节,使用 urllib2.install_opener() 会设置 urllib2 的全局 opener 。...2.Timeout 设置 在老版 Python 中(Python2.6前),urllib2 的 API 并没有暴露 Timeout 的设置,要设置 Timeout 值,只能更改 Socket 的全局 Timeout...在 Python 2.6 以后,超时可以通过 urllib2.urlopen() 的 timeout 参数直接设置。...5.Cookie urllib2 对 Cookie 的处理也是自动的。
本篇我们将开始学习如何进行网页抓取,更多内容请参考:python学习指南 urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。...在Python中有很多库可以用来抓取网页,我们先学习urllib2。...urllib2是Python2.x自带的模块(不需要下载,导入即可使用) urllib2官网文档:https://docs.python.org/2/library/urllib2.html urllib2...源码 urllib2在python3.x中被改为urllib.request urlopen 我们先来段代码: #-*- coding:utf-8 -*- #01.urllib2_urlopen.py...urllib2默认的User-Agent头为:Python-urllib/x.y(x和y是Python主版本和次版本号,例如Python-urllib/2.7) #-*- coding:utf-8 -*
本篇将介绍urllib2的Get和Post方法,更多内容请参考:python学习指南 urllib2默认只支持HTTP/HTTPS的GET和POST方法 urllib.urlencode() urllib...和urllib2都是接受URL请求的相关参数,但是提供了不同的功能。...'' 作用:根据url发送请求,获取服务器响应文件 url:需要爬取的url地址 filename: 文件名 ''' print "正在下载...formate = { "type":"AUTO", "i":"i love python", "doctype":"json", "xmlVersion":"1.8",...import urllib import urllib2 # 1. 导入Python SSL处理模块 import ssl # 2. 表示忽略未经核实的SSL证书认证 context = ssl.
输入视频链接,python后台下载视频 # encoding: utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') import requests...path = u'C:/zhang.mp4' f = open(path, 'wb') f.write(data) f.close() time2 = time.time() print u'ok,下载完成
a = '2017-10-18 22:17:46' b = '2017-10-19 22:17:40' print a > b # 结果False 解释:python中字符串的大小比较,是按照字符顺序,...因此,时间字符串也可以直接比大小。
s7= {[1],(1,),1} #set的元素要求必须可以hash 列表不能hash