urllib2模块使用

  urllib2库是python中自带的用来进行网络抓取的库,在python3中 urllib2库被改为urllib.request

  urllib2中常用方法:

  1.urlopen :向指定服务器发送请求,并返回服务器相应的类文件对象

  2.request:当需要增加http报头等较复杂的操作的时候,创建request实例作为urlopen的参数,url地址作为request的参数,如下

    

# urllib2_request.py

import urllib2

# url 作为Request()方法的参数,构造并返回一个Request对象
request = urllib2.Request("http://www.baidu.com")

# Request对象作为urlopen()方法的参数,发送给服务器并接收响应
response = urllib2.urlopen(request)

html = response.read()

print html

  

新建Request实例,除了必须要有 url 参数之外,还可以设置另外两个参数:

  1. data(默认空):是伴随 url 提交的数据(比如要post的数据),同时 HTTP 请求将从 "GET"方式 改为 "POST"方式。

  2. headers(默认空):是一个字典,包含了需要发送的HTTP报头的键值对。

在 HTTP Request 中加入特定的 Header,来构造一个完整的HTTP请求消息。

 

 

在大部分时候urllib会与urllib2共同使用,主要是为了使用urllib.encode()方法,同时通过urllib2的方法伪装user-agent字段,从而完成爬虫的第一层伪装。

posted @ 2018-04-03 22:25  cj陈杰  阅读(113)  评论(0编辑  收藏  举报