2018-04-10粗鲁地爬取网页

2018-04-10  本文已影响0人  cmd_dc6c
import urllib2
response = urllib2.urlopen("http://taobao.com")
print response.read()

综上:三行代码就能简单地将淘宝网页爬取出来,这是根据url路由爬取的,比较粗暴
分析:
1.此代码需在python2环境下编写
2.urllib2是python2内置的一个系统工具库

urllib2功能 (5大功能)

1.获取web页面
2.在远程服务器上验证
3.额外数据提交,像一些:表单提交(GET和POST)
4.异常处理
5.非http协议通信(像ftp协议通信等等)

urllib2中urlopen方法的分析:

urlopen() 对象主要用于打开 括号里指定的网站 所对应的内容
urlopen中有三个参数:
1.url :指路径,必须填充的内容* 列如:http://www.taobao.com
2.data:指访问url时要传送的数据,默认为空
3.timeout:设置超时时间,一般为默认

对于response的处理

1.直接打印response

print response
#结果如下
#<addinfourl at 84866632L whose fp = <socket._fileobject object at 0x00000000050831B0>>

若直接打印,结果是url路由,是路径内容
所以需要借助 response 里的 read()方法 ,利用该方法,返回的是网页内容,所以是

print response.read()

*稍微小心地爬取数据 (request的分析)

request请求

import urllib2
request = urllib2.Request("http://www.taobao.com")
response = urllib2.urlopen(request)
print response.read()

综上:该代码是第一个代码的扩充,由只有响应(response),增加进去一个请求(request)
在代码的第二行,是一个请求对象,提出请求,响应请求,
**request对象是利用内存来存放我们客户对服务器端提出的请求的一段信息的相关内容

注:由于我们爬取数据时,不一定非要爬取整个网页,可以视情况爬取某一部分或者某些内容,此时可以通过提交请求得到。

上一篇 下一篇

猜你喜欢

热点阅读