urllib2的使用 目录清单 入门程序了解爬虫采集数据步骤 底层操作Request对象 请求头设置之UserAgent用户代理 请求头设置 用户代理——UserAgent 自定义请求头消息 请求方式之...程序清单:demo01.py # -*- coding:utf-8 -*- # 添加指定编码的注释,表示当前源代码支持中文操作 import urllib2 # 引入需要的模块 response =...上述程序我们了解了爬虫程序的操作步骤,底层操作过程中其实是将请求和响应两部分都是分步骤进行的: # -*- coding:utf-8 -*- # 添加 注释,指定当前源代码支持中文操作 from urllib2...,将爬虫程序发送的请求伪造程浏览器发送的请求,通过设置请求中的UserAgent就可以实现 # 添加注释,源代码支持中文 # -*- coding:utf-8 -*- # 引入需要的模块 from urllib2...鉴于此,我们也可以自定义openr的实现过程: # -*- coding:utf-8 -*- import urllib2 # 引入需要的模块 handler = urllib2.HTTPSHandler
'urllib2'这个错误。...urllib.request包含了urllib2的大部分功能。 首先,您需要将urllib2导入的代码改为导入urllib.request模块。...然而,在升级到Python 3后,使用旧的urllib2库会出现ModuleNotFoundError: No module named 'urllib2'的错误。...下面详细介绍urllib2模块的一些重要功能和用法:1. 发送GET请求使用urllib2模块发送GET请求,可以通过urlopen函数来实现。...以上是对urllib2库的一些简单介绍和示例。通过使用urllib2库,我们可以方便地处理HTTP请求和响应,获取数据并进行相应的处理。
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进行爬虫实验。 写在前面的蠢事: 本来新建了一个urllib2.py便于好认识这是urllib2的实验,结果始终编译不通过,错误错误。...糗事百科的网络爬虫 import urllib2 import urllib import re import thread import time #--
urllib2是在Python2标准库中的,无需安装即可使用,在Python3中不能使用urllib2,在Python3中urllib2被改为了urllib.request,所以本文中的代码在Python3...中运行时,把urllib2替换成urllib.request,得到的结果是一样的。...一、使用urllib2获取数据 # coding=utf-8 import urllib2 response = urllib2.urlopen("http://www.baidu.com") print...这时候需要在url中拼接查询字符串,Python的urllib库提供了urlencode方法来将字典转换成查询字符串,而urllib2没有urlencode,所以可以通过urllib生成查询字符串来给urllib2...使用urllib2发送请求时,我们并不需要声明使用的是GET请求还是POST请求,当我们给Request对象传入了data参数,urllib2就会自动以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...io.py", line 3, in os.remove(f) NameError: name 'f' is not defined 当然我仅仅时想在命令行测试一下是否能导入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
然而,使用 urllib2 库时,有效地处理 Cookie 问题成为一项具有挑战性的任务。2. 解决方案2.1....实现方案为了实现上述设置,我们需要对 urllib2 的 CookiesMiddleware 代码进行修改。...()# 创建 urllib2 的 Opener,将 Cookie 处理器加入其中opener = urllib2.build_opener(cookie_handler)# 定义请求url = "https...以下是一个示例代码,演示如何使用 urllib2 和 CookiesMiddleware 获取拉勾网的 Cookie:import urllib2import cookielib# 设置代理信息proxyHost...= cookielib.CookieJar()# 创建 Cookie 处理器cookie_handler = urllib2.HTTPCookieProcessor(cookie_jar)# 创建 urllib2
urllib2.urlopen(req,timeout=3) data表示post方式提交给目标服务器的参数 data = urllib.urlencode(data) import urllib,urllib2...urllib2还提供了接口来处理一般情况,例如:基础验证,cookies,代理和其他,它们通过handlers和openers的对象实现。...User-Agent’:’Mozilla/5.0 (X11; U; Linux i686)Gecko/20071127 Firefox/2.0.0.11′} import urllib import urllib2...如果要修改http报头,可以用: import urllib2 opener = urllib2.build_opener() opener.addheaders = [('User-agent',
在接口测试中或者说在网络爬虫中,urllib2库是必须要掌握的一个库,当然还有优秀的requests库,今天重点来说urllib2库在接口测试中的应用。...查看urllib2库的详细的帮助文档,见执行的代码: #!.../usr/bin/env python #-*-coding:utf-8-*- import urllib2 print type(help(urllib2)) 首先我们来看一个完整的请求和响应内容...,然后通过urllib2的库来实现这样的一个过程,我们访问http://m.cyw.com/切换城市,见抓取的信息,见截图: ?.../usr/bin/env python # -*-coding:utf-8-*- import urllib2 import urllib def selCity(): '''使用urllib2
在Python中,我们使用urllib2这个组件来抓取网页。 urllib2是Python的一个获取URLs(Uniform Resource Locators)的组件。...最简单的urllib2的应用代码只需要四行。...urllib2用一个Request对象来映射你提出的HTTP请求。...urllib2使用相同的接口处理所有的URL头。例如你可以像下面那样创建一个ftp请求。 在HTTP请求时,允许你做额外的两件事。...编码工作使用urllib的函数而非urllib2。 我们新建一个文件urllib2_test03.py来感受一下: 如果没有传送data参数,urllib2使用GET方式的请求。
开始了 一般情况下用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
# -*- coding: utf-8 -*- import urllib2 # http发送报文 def httpsend(url, bw): req = urllib2.Request(
当然这个opener也不是一次加载就再也不可变了,urllib2提供了install_opener这个方法,你可以在客户端调用build_opener然后用前面的那个install_opener来加载。...另外,最近一直在思考一个问题,如何把这些(我学到的东西,比如urllib2)东西能够更好的,更清晰易懂的让读者明白。...自己理解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
了解了这些知识后,接下来真正迈向爬虫之路....... urllib2 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。...在Python中有很多库可以用来抓取网页,先学习urllib2。...urllib2模块直接导入就可以用,在python3中urllib2被改为urllib.request 开始爬虫需要准备的一些工具 (1)下载Fiddeler抓包工具,百度直接下载安装就可以(抓包) (...的主要区别 urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能,最显著的区别如下: (1)urllib仅可以接受URL,不能创建,设置headers的request类实例;...(2)但是urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2则没有(这是urllib和urllib2经常一起使用的主要原因) (3)编码工作使用urllib的urlencode
urllib2做为python下,在httplib之上再次封装的强大html协议实现,应用非常广泛。...虽然现在又有更新的requests,httplib2等,但urllib2胜在强大的应用基础以及众多的网络资料。...1 #测试2调试开关 2 import urllib2 3 8 request=urllib2.Request('https://www.hicloud.com/others/login.action..._context = context 3、direct转向自动支持 urllib2支持自动转向,假如服务器端有自动redirect,urllib2会自动去提交获取到转向链接,并执行结果。...源码详细解释 另外,附一篇有关urllib2源码的说明文章,作者虽然加了很多注释,但对于初学者有点难度,尤其是html协议没学好的同学。
有趣的是,urllib、urllib2曾经同时出现在python2,python3又将两个模块合并成一个,社区又有大神提供了一个urllib3的库,都是用于处理网络请求相关功能,不过这些包在 requests
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
User-Agent', 'fake-client') response = urllib2.urlopen(request) html = response.read() 就是这样,其实urllib2...import urllib2 enable_proxy = True proxy_handler = urllib2.ProxyHandler({"http" : 'http://some-proxy.com...2.4 Timeout设置 在老版本中,urllib2 的 API 并没有暴露 Timeout 的设置,要设置 Timeout 值,只能更改 Socket 的全局 Timeout 值...2.6 Redirect重定向 urllib2 默认情况下会针对 3xx HTTP 返回码自动进行 Redirect 动作,无需人工配置。...虽然如此,我们还是能通过下面的方式,使 urllib2 能够发出 HTTP PUT 或 DELETE 的包: importurllib2 request =urllib2.Request(uri,
领取专属 10元无门槛券
手把手带您无忧上云