python网络爬虫——基本概念及代码实现1

Python网络爬虫

爬虫是什么?

网络爬虫就是一段抓取网页程序,基本操作就是抓取网页,每个网页都是有一段段代码组成的,爬虫的工作就是通过网页的链接地址寻找网页。

 

URI和URL的区别

Web上每一种资源(文档、视频、图片、程序)都由一个通用资源标识符(URI)进行定位。URL是URI的一个子集,二者的区别在于,URI表示请求服务器的路径,定义这么一个资源,而URL同时说明要如何访问这个资源(http://)。

 

URL的格式由三部分组成: 

①第一部分是协议(或称为服务方式)。

②第二部分是存有该资源的主机IP地址(有时也包括端口号)。

③第三部分是主机资源的具体地址,如目录和文件名等。

第一部分和第二部分用“://”符号隔开,

第二部分和第三部分用“/”符号隔开。

第一部分和第二部分是不可缺少的,第三部分有时可以省略。

 

URL的一般格式为(带方括号[]的为可选项):

protocol://hostname[:port]/path/[;parameters][?query]

 

爬虫最主要的处理对象就是URL,它根据URL地址取得所需要的文件内容,然后对它 进行进一步的处理。

 

网页抓取

就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源。除了"http:",URL同样可以使用"ftp:","file:"等等来替代。HTTP是基于请求和应答机制的:客户端提出请求,服务端提供应答。

 


Python2中使用的是urllib2和urllib。

Python3中使用的是urllib,urllib五个子模块error、parse、request、response、robotparser。

 

通过urlopen函数将百度网页的代码提取到本地


Python2

import urllib2
response = urllib2.urlopen('http://www.baidu.com/')
html = response.read()
print html

Python3

import urllib.request
response = urllib.request.urlopen('http://www.baidu.com/')
html = response.read()
print(html.decode('UTF-8'))#转换为UTF-8,速度就会变快。


创建一个request对象,返回一个response对象

Python2

import urllib2  
req = urllib2.Request('http://www.baidu.com')  
response = urllib2.urlopen(req)  
the_page = response.read()  
print the_page

Python3

import urllib.request
req = urllib.request.Request('http://www.baidu.com')
response = urllib.request.urlopen(req)
the_page = response.read()
print(the_page.decode('UTF-8'))#转换为UTF-8,速度就会变快。</span>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值