python爬虫用什么版本,python2和python3中urllib的用版本区别及用法 爬虫基础

首先在python2中urllib和urllib2的区别:

1.urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以通过urllib模块伪装你的User Agent字符串等(伪装浏览器)。

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

3.urllib2模块比较优势的地方是urlliburllib2.urlopen可以接受Request对象作为参数,从而可以控制HTTP Request的header部。

4.但是urllib.urlretrieve函数以及urllib.quote等一系列quote和unquote功能没有被加入urllib2中,因此有时也需要urllib的辅助。

先看看python2中urllib2的使用方法

#coding:utf-8

# python2.7版本

import urllib2

# 设置浏览器请求头

ua_headers={

"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0"

}

#建立请求内容

request=urllib2.Request("http://baidu.com/",headers=ua_headers)

#获取响应

response=urllib2.urlopen(request)

#页面内容

html=response.read()

print html

print response.getcode() #返回响应码

print response.geturl() #返回实际url

print response.info() #返回服务器响应的报头

在看看python3中urllib2的用法

from urllib import request

url = r'https://www.baidu.com/'

headers = {

'User-Agent': r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '

r'Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3',

'Referer': r'http://www.lagou.com/zhaopin/Python/?labelWords=label',

'Connection': 'keep-alive'

}

req = request.Request(url, headers=headers)

html = request.urlopen(req).read()

# 处理编码

html = html.decode('utf-8')

print(html)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值