首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

urllib与urllib2学习总结(python2.7.X)

简单情况下,我们会使用urllib2模块最常用方法urlopen。但只要打开HTTP URL遇到错误或异常情况下,就需要一些HTTP传输协议知识。...这是一个最全面和最权威技术文档,且不易于阅读。使用urllib2会用到HTTP RFC2616相关知识,了解即可。...例如,urllib2发现responseURL与你请求URL不同时也就是发生了重定向自动处理。对于不能处理请求, urlopen将抛出HTTPError异常....当一个错误被抛出时候,服务器返回一个HTTP错误代码和一个错误。你可以使用返回HTTP错误示例。...(错误码范围在300内),错误100-299范围内表示请求成功,所以通常会看到错误代码都是400-599范围内。

73820

django queryset 去重 .distinct()说明

只接收一个url urllib 有urlencode,urllib2没有,这也是为什么总是urllib,urllib2常会一起使用原因 r = Request(url='http://www.mysite.com...正常情况下程 序一直通过urlopen使用默认opener(也就是说当你使用urlopen方法,是隐式使用默认opener 对象),但也可以创建自定义openers(通过操作 器handlers...URLError——handlers当运行出现问题(通常是因为没有网络连接也就是没有路由到指定服务器,或在指定服务器不存在) HTTPError——HTTPError是URLError子类。...例如,urllib2发现responseURL与你请求URL不同时也就是发生了重定向 自动处理。对于不能处理请求, urlopen将抛出 – – – HTTPError异常....典型错误包含‘404′ (没有找到页面), ‘403′ (禁止请求),‘401′ (需要验证)等。它包含2个重要属性reason和code。

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python:爬虫系列笔记(4) -- URL异常处理

    子类,在你利用urlopen方法发出一个请求,服务器上都会对应一个应答对象response,其中它包含一个数字”状态码”。...其他不能处理urlopen产生一个HTTPError,对应相应状态吗,HTTP状态码表示HTTP协议所返回响应状态。下面将状态码归结如下: 100:继续 客户端应当继续发送请求。...一般来说,这个问题都会在服务器端源代码出现错误出现。 501:服务器无法识别 服务器不支持当前请求所需要某个功能。当服务器无法识别请求方法,并且无法支持其对任何资源请求。...502:错误网关 作为网关或者代理工作服务器尝试执行请求,从上游服务器接收到无效响应。 503:服务出错 由于临时服务器维护或者过载,服务器当前无法处理请求。...)except urllib2.HTTPError, e: print e.code print e.reason 运行结果如下 12 403Forbidden 错误代号是403错误原因是

    1.7K90

    002:Python爬虫Urllib库全面分析

    Urllib: Python中有一个功能强大,用于操作URL,并且爬虫中经常使用库、就是Urllib库。 (python2时候,有Urllib库,也有Urllib2库。...Python3以后把Urllib2合并到了Urllib中) 合并后,模块中有很多位置变动。我在这里先介绍一些常用改动。...接下来我会对Urllib做更深入讲解。 浏览器模拟Headers属性 首先我想说并不是每一次获取都是有效,很多时候我们无法爬取一些网页,提示403错误。...这样就能正常爬取我们想要信息了。 当使用之前爬取方法出现403时候,我们需要去设置User-Agent信息。 比如任意打开一个网页,(www.baidu.com)按下F12进入开发者模式。...3、通过urlopen()打开构建Request对象 4、按需求进行后续处理操作。读取写入。 POST请求 我们登录注册操作,基本上都会遇到POST请求。

    71210

    python爬虫(五)_urllib2:Get请求和Post请求

    本篇将介绍urllib2Get和Post方法,更多内容请参考:python学习指南 urllib2默认只支持HTTP/HTTPSGET和POST方法 urllib.urlencode() urllib...Content-Type: application/x-www-form-urlencoded:表示浏览器提交web表单,表单数据按照name1=value1&name2=value2键值对形式进行编码...如果SSL证书验证不通过,或者操作系统不信任服务器安全证书,比如浏览器访问12306网站如:"https://www.12306.cn/normhweb/"时候,警告用户证书不受信任。...urllib2访问时候则会报出SSLError: import urllib2 url = "https://www.12306.cn/mormhweb/" headers = {"User-Agent...import urllib import urllib2 # 1. 导入Python SSL处理模块 import ssl # 2. 表示忽略未经核实SSL证书认证 context = ssl.

    2.4K60

    自学Python四 爬虫基础知识储备

    首先,推荐两个关于python爬虫不错博客:Python爬虫入门教程专栏   和 Python爬虫学习系列教程 。写都非常不错,我学习到了很多东西!在此,我就我看到学到进行总结一下!   ...归根到底就是我们通过程序访问网站得到html代码,然后分析html代码获取有效内容过程。下面让我们从最简单爬虫开始: 爬取一个页面源代码 python中,抓取网页库是urllib2。...我们来看一下urlopen用法: 1 >>> help(urllib2.urlopen) 2 Help on function urlopen in module urllib2: 3 4 urlopen...访问网站情况下我们可能遇到一些网站错误,我们要在程序中进行处理(一如既往try... except...得到错误信息内容): 1 import urllib2 2 3 req = urllib2...:400 非法请求  403 禁止访问  404 未找到资源  500 服务器内部错误 200 访问成功。

    44810

    8 个常用 Python 爬虫技巧,分分钟提高效率!!

    源 / Python网络爬虫与数据挖掘 爬虫开发过程中也有很多复用过程,这里总结一下,以后也能省些事情。...(request) print(response.read()) 2、使用代理IP 开发爬虫过程中经常会遇到IP被封掉情况,这时就需要用到代理IP; urllib2包中有ProxyHandler类...所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden情况 对有些 header 要特别留意,Server 端针对这些 header 做检查 User-Agent...有些 Server 或 Proxy 检查该值,用来判断是否是浏览器发起 Request Content-Type 使用 REST 接口,Server 检查该值,用来确定 HTTP Body...虽然说python多线程很鸡肋,但是对于爬虫这种网络频繁型,还是能一定程度提高效率

    52620

    解决ModuleNotFoundError: No module named urllib2

    所以Python 3中使用​​urllib2​​导致找不到模块错误。...six​​是一个用于Python 2和Python 3之间进行兼容处理工具库。它提供了很多兼容性相关功能。您可以使用​​six.moves​​模块中别名来替代​​urllib2​​。...然而,升级到Python 3后,使用旧​​urllib2​​​库会出现​​ModuleNotFoundError: No module named 'urllib2'​​​错误。...然后通过​​add_header​​方法将自定义头部信息添加到请求中。4. 处理异常在使用​​urllib2​​发送请求,可能遇到一些异常情况,例如网络连接失败或服务器返回错误等。...但需要注意是,由于Python 3中被移除,所以Python 3中应该使用​​urllib.request​​和​​urllib.error​​模块来代替​​urllib2​​。

    58440

    Python入门网络爬虫之精华版

    首先列举一下本人总结相关文章,这些覆盖了入门网络爬虫需要基本概念和技巧:宁哥小站-网络爬虫 当我浏览器中输入一个url后回车,后台会发生什么?...=url, data=data) response = urllib2.urlopen(req) 2.2 使用cookie登陆 使用cookie登陆,服务器认为你是一个已登陆用户,所以就会返回给你一个已登陆内容...(proxy_support, urllib2.HTTPHandler) urllib2.install_opener(opener) # 安装opener,此后调用urlopen()都会使用安装过...这就是为什么如果你直接去爬网页本身url,你找不到页面的实际内容。...Scrapy Scrapy是一个基于Twisted开源Python爬虫框架,工业中应用非常广泛。 Robots协议 好网络爬虫,首先需要遵守Robots协议。

    1.1K20

    Python爬虫:一些常用爬虫技巧总结

    爬虫开发过程中也有很多复用过程,这里总结一下,以后也能省些事情。...1、基本抓取网页 get方法 import urllib2 url "http://www.baidu.com" respons = urllib2.urlopen(url) print response.read...(request) print response.read() 2、使用代理IP 开发爬虫过程中经常会遇到IP被封掉情况,这时就需要用到代理IP; urllib2包中有ProxyHandler类,...所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden情况 对有些 header 要特别留意,Server 端针对这些 header 做检查 User-Agent...有些 Server 或 Proxy 检查该值,用来判断是否是浏览器发起 Request Content-Type 使用 REST 接口,Server 检查该值,用来确定 HTTP Body

    67370

    Python爬虫:一些常用爬虫技巧总结

    python也差不多一年多了,python应用最多场景还是web快速开发、爬虫、自动化运维:写过简单网站、写过自动发帖脚本、写过收发邮件脚本、写过简单验证码识别脚本。...爬虫开发过程中也有很多复用过程,这里总结一下,以后也能省些事情。...(request) print response.read() 2、使用代理IP 开发爬虫过程中经常会遇到IP被封掉情况,这时就需要用到代理IP; urllib2包中有ProxyHandler类,...所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden情况 对有些 header 要特别留意,Server 端针对这些 header 做检查 User-Agent...有些 Server 或 Proxy 检查该值,用来判断是否是浏览器发起 Request Content-Type 使用 REST 接口,Server 检查该值,用来确定 HTTP Body

    51050

    8 个常用 Python 爬虫技巧,分分钟提高效率!!

    爬虫开发过程中也有很多复用过程,这里总结一下,以后也能省些事情。...(request) print(response.read()) 2、使用代理IP 开发爬虫过程中经常会遇到IP被封掉情况,这时就需要用到代理IP; urllib2包中有ProxyHandler类...所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden情况 对有些 header 要特别留意,Server 端针对这些 header 做检查 User-Agent...有些 Server 或 Proxy 检查该值,用来判断是否是浏览器发起 Request Content-Type 使用 REST 接口,Server 检查该值,用来确定 HTTP Body...虽然说python多线程很鸡肋,但是对于爬虫这种网络频繁型,还是能一定程度提高效率

    40020

    Python 爬虫:8 个常用爬虫技巧总结!

    爬虫开发过程中也有很多复用过程,这里总结一下,以后也能省些事情。...(request) print response.read() 2、使用代理IP 开发爬虫过程中经常会遇到IP被封掉情况,这时就需要用到代理IP; urllib2包中有ProxyHandler类,...所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden情况 对有些 header 要特别留意,Server 端针对这些 header 做检查 User-Agent...有些 Server 或 Proxy 检查该值,用来判断是否是浏览器发起 Request Content-Type 使用 REST 接口,Server 检查该值,用来确定 HTTP Body...虽然说python多线程很鸡肋,但是对于爬虫这种网络频繁型,还是能一定程度提高效率

    1.3K20

    Python爬虫:一些常用爬虫技巧总结

    爬虫开发过程中也有很多复用过程,这里总结一下,以后也能省些事情。...(request) print response.read() 2、使用代理IP 开发爬虫过程中经常会遇到IP被封掉情况,这时就需要用到代理IP; urllib2包中有ProxyHandler类,...所以用urllib2直接访问网站经常会出现HTTP Error 403: Forbidden情况 对有些 header 要特别留意,Server 端针对这些 header 做检查 User-Agent...有些 Server 或 Proxy 检查该值,用来判断是否是浏览器发起 Request Content-Type 使用 REST 接口,Server 检查该值,用来确定 HTTP Body...虽然说python多线程很鸡肋,但是对于爬虫这种网络频繁型,还是能一定程度提高效率

    86040

    Python——爬虫入门 Urllib库进阶

    network一栏中找到Headers,在里面我们能看到Request Headers,这就是我们发送当前页面请求所用请求头。...URLError: 通常,URLError被抛出是因为网络请求出现错误,比如服务器访问错误,或者访问站点不存在,在这种情况下都会抛出一个URLError,这个错误是一个包含着reason和code元组...') try: urllib2.urlopen(req) except urllib2.URLError as e : print e.reason 接触URLError之前,大家一定更早接触过...HTTPError,每个来自服务器HTTP应答都会携带着一个包含数值状态码,例如我们耳熟能详200、404(页面丢失)、403(请求被禁止)等等。...最后诸如代理什么也就不讲解了,因为我觉得使用到这些时候,大家可能就不会使用urllib2这个库了,有更好轮子等着你们。放上urllib2官方文档,有不懂可以速查哟。

    53530

    python爬虫入门(一)urllib和urllib2

    当我浏览器输入URL http://www.baidu.com 时候,浏览器发送一个Request请求去获取 http://www.baidu.com html文件,服务器把Response文件对象发送回给浏览器...HTTPS 是以安全为目标的 HTTP 通道,所以 HTTPS 承载面上不允许出现 HTTP 请求,一旦出现就是提示或报错。 4....服务器和客户端交互仅限于请求/响应过程,结束之后便断开,在下一次请求,服务器认为新客户端。 为了维护他们之间链接,让服务器知道这是前一个用户发送请求,必须在一个地方保存客户端信息。...Python中有很多库可以用来抓取网页,先学习urllib2。...urllib2模块直接导入就可以用,python3中urllib2被改为urllib.request 开始爬虫需要准备一些工具 (1)下载Fiddeler抓包工具,百度直接下载安装就可以(抓包) (

    1.9K60

    爬虫0020:urllib2操作urllib2使用

    会话跟踪之cookie操作 很多网站上,都使用了基于cookie会话跟踪技术,如有道在线翻译操作过程中就是用cookie进行了状态保持操作; 进行爬虫操作过程中,我们大量使用到cookie...爬虫异常行为 进行目标网址访问和数据采集过程中,由于目标网址拼写、网络阻塞等等各种问题,可能导致目标网址访问失败情况,python爬虫模块中,主要通过URLError类型来规范定义爬虫访问url...地址出现问题,同时提供了继承自URLErrorHTTPError类型专门针对HTTP请求进行异常行为处理 但是切记,一切服务器返回异常行为,都是服务器内部直接出现错误行为并且返回错误状态码导致异常行为... 程序运行完成 我们可以看到程序并没有出现任何和异常行为相关错误信息,因为百度服务器已经将404异常行为服务器中进行了处理并且返回了指定404网页数据,所以爬虫访问获取到了404...= urllib2.urlopen(request) print response.read() 出现如下错误提示: urllib2.URLError: <urlopen error [SSL:

    70930
    领券