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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,282评论 19 139
  • 1.简介 requests第三方封装的模块,通过简化和响应数据的处理,简化繁琐的开发步骤和处理逻辑、统一不同请求的...
    程猿先生阅读 5,625评论 0 1
  • urllib2是Python的一个获取URLs的组件。他以urlopen函数的形式提供了一个非常简单的接口,具有利...
    查无此人asdasd阅读 5,468评论 0 3
  • Python爬虫入门(urllib+Beautifulsoup) 本文包括:1、爬虫简单介绍2、爬虫架构三大模块3...
    廖少少阅读 13,353评论 0 6
  • 1-1 简介 requests第三方封装的模块,通过简化请求和响应数据的处理,简化繁琐的开发步骤和处理逻辑、统一...
    大牧莫邪阅读 3,733评论 4 5

友情链接更多精彩内容