皮皮网

【好看的企业主页源码软件】【大数据爬虫源码】【卡意购源码】python urllib2 源码

2024-11-23 12:38:48 来源:eclipse爱心表白源码

1.python的httplib,urllib和urllib2的区别及用
2.关于python中urllib2.urlopen函数结果复制的源码问题。

python urllib2 源码

python的httplib,urllib和urllib2的区别及用

       å®—è¿°

       é¦–先来看一下他们的区别

       urllib和urllib2

       urllib 和urllib2都是接受URL请求的相关模块,但是urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。

       è¿™æ„å‘³ç€ï¼Œä½ ä¸å¯ä»¥ä¼ªè£…ä½ çš„User Agent字符串等。

       urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。

       ç›®å‰çš„大部分patible; MSIE 5.5; Windows NT)'# 将user_agent写入头信息

       values = { 'name' : 'who',源码好看的企业主页源码软件'password':''}

       headers = { 'User-Agent' : user_agent }

       data = urllib.urlencode(values)

       req = urllib2.Request(url, data, headers)

       response = urllib2.urlopen(req)

       the_page = response.read()

       values是post数据

       GET方法

       ä¾‹å¦‚百度:

       ï¼Œè¿™æ ·æˆ‘们需要将{ ‘wd’:’xxx’}这个字典进行urlencode

       #coding:utf-8

       import urllib

       import urllib2

       url = ''

       values = { 'wd':'D_in'}

       data = urllib.urlencode(values)

       print data

       url2 = url+'?'+data

       response = urllib2.urlopen(url2)

       the_page = response.read()

       print the_page

       POST方法

       import urllib

       import urllib2

       url = ''

       user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' //将user_agent写入头信息

       values = { 'name' : 'who','password':''} //post数据

       headers = { 'User-Agent' : user_agent }

       data = urllib.urlencode(values) //对post数据进行url编码

       req = urllib2.Request(url, data, headers)

       response = urllib2.urlopen(req)

       the_page = response.read()

       urllib2带cookie的使用

       #coding:utf-8

       import urllib2,urllib

       import cookielib

       url = r''

       #创建一个cj的cookie的容器

       cj = cookielib.CookieJar()

       opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

       #将要POST出去的数据进行编码

       data = urllib.urlencode({ "email":email,"password":pass})

       r = opener.open(url,data)

       print cj

       /')

       baidu_data = baidu_doc.read()

       baidu_soup = BeautifulSoup(baidu_data)

       baidu_doc1 = copy.copy(baidu_doc)

       print baidu_doc1

       ===>输出这么个指针吧 fp = <socket._fileobject object at 0xC3F0>

       baidu_doc 本来就是个指针