本篇将介绍urllib2的Get和Post方法,更多内容请参考:python学习指南 urllib2默认只支持HTTP/HTTPS的GET和POST方法 urllib.urlencode() urllib...和urllib2都是接受URL请求的相关参数,但是提供了不同的功能。...#-*- coding:utf-8 -*- #09.urllib2_post.py import urllib import urllib2 #POST请求的目标URL url = "http://...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.
在Python中有很多库可以用来模拟浏览器发送请求抓取网页,本文中介绍使用urllib2来实现获取网页数据。...urllib2是在Python2标准库中的,无需安装即可使用,在Python3中不能使用urllib2,在Python3中urllib2被改为了urllib.request,所以本文中的代码在Python3...这时候需要在url中拼接查询字符串,Python的urllib库提供了urlencode方法来将字典转换成查询字符串,而urllib2没有urlencode,所以可以通过urllib生成查询字符串来给urllib2...获取到的页面与我们在百度首页搜索python的页面相同。 ? 四、使用urllib2发送POST请求 上面的例子中,我们使用的都是GET方法,接下来我们使用POST方法。...使用urllib2发送请求时,我们并不需要声明使用的是GET请求还是POST请求,当我们给Request对象传入了data参数,urllib2就会自动以POST方式发送请求。
urllib2 是Python自带的标准模块, 用来发送HTTP Request的。 ...类似于 .NET中的, HttpWebRequest类 urllib2 的优点 Python urllib2 发出的HTTP Request, 能自动被Fiddler截获, 方便了调试。...Python 可以自动处理Cookie urllib2 的缺点 Python urllib2 发出的http Request, 中的header 会被修改成“首字母大写”, 比如你的代码里写的header...() print response.read() 实例二, post方法 # -* - coding: UTF-8 -* - import urllib2 import urllib request...() 实例三: Cookie 的处理 # -* - coding: UTF-8 -* - import urllib2 import urllib import cookielib cj = cookielib.CookieJar
在Python中有很多库可以用来抓取网页,先学习urllib2。...urllib2模块直接导入就可以用,在python3中urllib2被改为urllib.request 开始爬虫需要准备的一些工具 (1)下载Fiddeler抓包工具,百度直接下载安装就可以(抓包) (...文件对象的操作方法 #read()方法就是读取文件里的全部内容,返回字符串 html = response.read() print html urllib2默认的User-Agent是Python-urllib...和urllib2的主要区别 urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能,最显著的区别如下: (1)urllib仅可以接受URL,不能创建,设置headers的request...类实例; (2)但是urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2则没有(这是urllib和urllib2经常一起使用的主要原因) (3)编码工作使用urllib
GET/POST请求 GET请求处理 POST请求处理 Handler处理器自定义开锁人opener 自定义HTTP OPENER 自定义PROXY OPENER 会话跟踪之cookie操作 cookie...urllib2的字样,这不是迅雷不及掩耳盗铃吗,用自己爬虫的身份直接访问服务器~很容被服务器进行分析过滤并屏蔽访问的!...请求处理方式get/post 请求常规处理方式GET/POST操作,通过两个案例进行操作,并通过抓包工具进行数据分析: # 添加注释,python2支持中文编码 # -*- coding:utf-8 -...*- # 引入需要的模块 from urllib2 import Request, urlopen from urllib import urlencode # 定义访问url地址和传递的数据 url...鉴于此,我们也可以自定义openr的实现过程: # -*- coding:utf-8 -*- import urllib2 # 引入需要的模块 handler = urllib2.HTTPSHandler
通过python 的 urllib2 模块,可以轻易的去模拟用户访问网页的行为。 这里将自己的学习过程简单的记录下来。...但不同于urllib 的是,urllib2 中的urlopen函数的第一个参数url 可以是一个Request 实例。...2、模拟POST请求 以上所模拟的请求,全部都是GET方式的请求,那如果需要模拟POST方式的请求呢?...我们可以使用这个handler做GET/POST 请求,但是如果我们想做一些其他的事情呢? 如我们想设置代理去做一些事情等所有非GET/POST能处理好的。那么我们就需要更换handler了 。...) import urllib2 req = urllib2.Request('http://www.baidu.com/mmmaa') try: urllib2.urlopen(req)
这段时间想玩玩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
今天说一说urllib与urllib2的学习总结(python2.7.X),希望能够帮助大家进步!!! ...Python的urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。...对于HTTP来说这动作叫Post。例如在网上填的form(表单)时,浏览器会POST表单的内容,这些数据需要被以标准的格式编码(encode),然后作为一个数据参数传送给Request对象。...默认情况下,urlib2把自己识别为Python-urllib/x.y(这里的xy是python发行版的主要或次要的版本号,如在Python 2.6中,urllib2的默认用户代理字符串是“Python-urllib...import urllib2 req = urllib2.Request('http://www.python.org/') opener=urllib2.build_opener() urllib2.
urllib 是 python 的内置模块, 主要用于处理url相关的一些操作,例如访问url、解析url等等。...有趣的是,urllib、urllib2曾经同时出现在python2,python3又将两个模块合并成一个,社区又有大神提供了一个urllib3的库,都是用于处理网络请求相关功能,不过这些包在 requests...而python3中,urllib包下面用的最多的恐怕还是parse模块,主要处理url相关的操作。特别是爬虫应用中,用得多。...以下是我整理的关于urllib.parse的最常用方法,写爬虫过程中,经常要对url进行参数拼接、编码、解码、域名、资源路径提取等操作,parse 就可以排上用场。 ?...>>> from urllib import parse >>> url = 'https://mp.weixin.qq.com/s?
# -*- coding: utf-8 -*- import urllib2 # http发送报文 def httpsend(url, bw): req = urllib2.Request(...url, bw) res_data = urllib2.urlopen(req) res = res_data.read() print(res) # 打出响应信息 if
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做为python下,在httplib之上再次封装的强大html协议实现,应用非常广泛。...下面分别总结个人在学习中的遇到的一些tips. 1、通常写法 urllib2.Request(url,data,headers) 其中url是你要访问的网站地址,data是post方法时要提交的post...origin_req_host=None, unverifiable=False): 另外要说明的是http协议中,post方法与get方法其实都是基于tcp通讯,其区别一个有post报文,一个没有。... return "GET" Anyway: urllib2.py的源码文件在C:\Python27\Lib目录下,C:\Python27是我的python2.7安装目录。..._context = context 3、direct转向自动支持 urllib2支持自动转向,假如服务器端有自动redirect,urllib2会自动去提交获取到转向链接,并执行结果。
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...import urllib2 request = urllib2.Request("http://blog.baidu.com/itcast") try: urllib2.urlopen
近来发现自己博客上python技术点的文章有点少,为了防止自己总是遗忘,还是写出来的好。...前几天刚看完《Linux/Unix设计思想》,真是一本不错的书,推荐想提高自己代码质量的童鞋看一下,里面经常提到要以小为美,一个程序做好一件事,短小精悍,因此我也按照这种思想来写python技术点的文章...开始了 一般情况下用python的童鞋是不可避免的要写一些爬虫程序的,因此对python中urllib和urllib2都比较熟悉。...下面的函数通过urllib2来模拟浏览器访问链接爬取内容: def get_url_content(url): i_headers = {"User-Agent": "Mozilla/5.0 (...,那么就需要用到urllib2中的代理设置了,如下: def get_content_by_proxy(url, proxy): opener = urllib2.build_opener(urllib2
主要使用python自带的urllib2进行爬虫实验。 写在前面的蠢事: 本来新建了一个urllib2.py便于好认识这是urllib2的实验,结果始终编译不通过,错误错误。...不能用Python的关键字(保留字)来命名py文件,改了就好了。 正则表达式与re Python 通过 re 模块提供对正则表达式的支持。.../usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2016-10-14 21:16:25 # @Author : Nicolo (1241251168...糗事百科的网络爬虫 import urllib2 import urllib import re import thread import time #--...compatible; MSIE 5.5; Windows NT)' headers = { 'User-Agent' : user_agent } req = urllib2
Michael Foord', 'location' : 'Northampton', language' : 'Python' } data = urllib.urlencode(values) ...) 2.3 代理 urllib2会自动检测代理设置,默认使用环境变量http_proxy 来设置 HTTP Proxy。...opener) 这里要注意的一个细节,使用 urllib2.install_opener() 会设置 urllib2 的全局 opener。...10) # 另一种方式 在新的 Python 2.6 版本中,超时可以通过 urllib2.urlopen() 的 timeout 参数直接设置。...只支持 HTTP 的 GET 和 POST 方法,如果要使用 HTTP PUT 和 DELETE,只能使用比较低层的 httplib 库。
所以在Python 3中使用urllib2会导致找不到模块的错误。...要解决这个问题,有两种方法可以尝试:方法一:使用urllib.request模块替代urllib2由于urllib2在Python 3中已被移除,可以使用urllib.request...为了兼容Python 3,我们可以使用urllib.request模块来替代urllib2。...发送POST请求除了发送GET请求,urllib2还可以发送POST请求。需要使用Request类来构建请求对象,并通过urlopen函数发送请求。...但需要注意的是,由于在Python 3中被移除,所以在Python 3中应该使用urllib.request和urllib.error模块来代替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中有很多库可以用来抓取网页,我们先学习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...的数据),同时HTTP请求将从"GET"方式改为"POST"方式。...urllib2默认的User-Agent头为:Python-urllib/x.y(x和y是Python主版本和次版本号,例如Python-urllib/2.7) #-*- coding:utf-8 -*