python2.* 爬虫

urlopen一般接受三个参数,它的参数如下:

urlopen(url,data,timeout)

第一个参数url即为URL,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间。

第二三个参数是可以不传送的,data默认为空None,timeout默认为 socket._GLOBAL_DEFAULT_TIMEOUT

执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面

#也可以用其他的变量比如aaa

response对象有一个read方法,可以返回获取到的网页内容

其实上面的urlopen参数可以传入一个request请求,它其实就是一个Request类的实例,构造时需要传入Url,Data等等的内容。比如上面的两行代码,我们可以这么改写

import urllib2

response = urllib2.urlopen("http://www.baidu.com")

print response.read()

改写成

import urllib2

request=urllib2.Request("http://www.baidu.com")

response=urllib2.urlopen(request)

print response.read()

运行结果是完全一样的,只不过中间多了一个request对象,推荐大家这么写,因为在构建请求时还需要加入好多内容,通过构建一个request,服务器响应请求得到应答,这样显得逻辑上清晰明确。


数据传送分为POST和GET两种方式,两种方式有什么区别呢?

最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。




参考自:  http://python.jobbole.com/81336/

你可能感兴趣的:(python2.* 爬虫)