python网络爬虫——基本概念及代码实现1
来源:互联网 发布:指南针优化布林线源码 编辑:程序博客网 时间:2024/05/03 04:35
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 urllib2response = urllib2.urlopen('http://www.baidu.com/')html = response.read()print html
Python3
import urllib.requestresponse = 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.requestreq = 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>
- python网络爬虫——基本概念及代码实现1
- 网络爬虫+刷博+python代码实现
- 网络爬虫讲解及java代码实现
- python爬虫学习(下)——爬虫代码实现
- python 网络爬虫代码
- [Python]网络爬虫(一):一些基本概念
- Python实现网络爬虫
- Python实现网络爬虫
- Python实现网络爬虫
- python实现网络爬虫
- python实现网络爬虫
- [Python] 实现网络爬虫
- python实现网络爬虫
- Python实现网络爬虫
- [Python] 实现网络爬虫
- Python实现网络爬虫
- Python 实现网络爬虫
- Python实现网络爬虫
- hdu 5029 Relief grain 树剖
- 计算机网络 TCP/IP每层所对应的协议以及OSI七层模型所对应的协议
- Android for Gradle 学习笔记 #1 概念篇
- Objective-C中的类别和非正式协议
- jQ
- python网络爬虫——基本概念及代码实现1
- 密码学
- Silverlight 布局面板加控件方法
- argparse
- Win8使用时的一些记录
- AOJ 12 box of bricks
- PhD的长征
- 【类继承】跑来跑去的类继承_Tencent
- 解决Java中MD5加密utf-8格式时与其他语言不同的问题