python爬虫模块_python实现爬虫的模块总结

u=3023050884,3776628073&fm=173&app=49&f=JPEG?w=640&h=480&s=04B1E832014151E30C71B54E0100F0B1

网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。其本质就是利用脚本发送请求,解析响应,然后提取有用信息,最后保存下来。

u=2363781416,4108204315&fm=173&app=49&f=JPEG?w=640&h=426&s=48F2AB44083BA3D60477ED970300908F

python由于语法简单,可用的包/库/模块也多,即使是初学者也能够快速实现简单的网络爬虫,给人很大鼓舞和学下去的动力。今天,小编来总结一下关于网络爬虫的模块(依据python2)。

u=613190633,2007893832&fm=173&app=49&f=JPEG?w=640&h=640&s=5110C530494156D045DC14DE010080E2

一,标准库中的urllib模块

urllib.urlopen方法:传入一个url链接,用于打开该链接。

urllib.urlencode方法:参数是词典,它可以将key-value这样的键值对转换成我们想要的格式,将URL中的键值对以连接符&划分

urllib.quote方法:只想对一个字符串进行urlencode转换的时候

urllib.urlretrieve方法:传入一个url链接,适用单纯的只下载的功能

二,标准库中的urllib2模块

也是标准库中用于访问网络的模块,不过与上面的urllib模块有区别:

urllib2.urlopen方法:可以接受一个Request对象或者url

urlencode,urllib2没有urlencode方法

urllib2.Request(url[, data][, headers][, originreqhost][, unverifiable])类:是一个抽象的URL请求

urllib2.installopener(opener)和urllib2.buildopener([handler, ...]) 方法:这两个方法一般是一起用的,installopener 实例化会得到OpenerDirector 对象用来赋予全局变量opener。如果想用这个opener来调用urlopen,那么就必须实例化得到OpenerDirector;这样就可以简单 的调用OpenerDirector.open()来代替urlopen()。build_opener实例化也会得到 OpenerDirector对象,其中参数handlers可以被BaseHandler或他的子类实例化。子类中可以通过以下实例化:ProxyHandler (这个用于代理,会经常用到), UnknownHandler, HTTPHandler, HTTPDefaultErrorHandler, HTTPRedirectHandler, FTPHandler, FileHandler, HTTPErrorProcessor。

三,第三方的requests模块

它是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,使用比标准库的urllib模块方便简单。

requests.get(url):发送get请求

requests.post(url,data={'key':'value'}):发送post请求

requests.get(url).text:使用text响应内容,会自动推测响应的编码 #post请求也一样

requests.get(url).content:使用content响应内容,是以二进制响应内容 #post请求也一样

requests.get(url).json():JSON 响应内容,会解析json数据 #post请求也一样

requests.get(url).raw:使用raw响应内容,获取来自服务器的原始套接字响应 #post请求也一样

requests.get(url,headers=headers):定制请求头,其中headers={'user-agent':'my-app/0.0.1'}

四,标准库的httplib模块

httplib实现了HTTP和HTTPS的客户端协议,这个是底层的模块,是urllib等模块的基础,一般比较少直接用到。

httplib.HTTPConnection(host[, port[, strict[, timeout]]])类:用于创建一个http类型的请求链接对象

conn.request(method, url[, body[, headers]])方法:用于发送请求,其中conn是HTTPConnection的实例

conn.getresponse()方法:用于获取一个http响应对象,其中conn是HTTPConnection的实例

conn.close()方法:用于关闭指定的http连接,其中conn是HTTPConnection的实例

res.read([amt])方法:用于获得http响应的内容部分,即网页源码,其中res是HTTPResponse的实列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值