请求浅谈一种基于HTTP的网络蜘蛛实现

http://www.baidu.com  时间:2021-03-02  阅读:()

浅谈一种基于HTTP的网络蜘蛛实现

文档信息

主题 关于“IT计算机”中“服务器”的参考范文。

属性 F-0D1FXMdoc格式正文2640字。质优实惠欢迎下载

适用

目录

目录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

正文. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1 HTTP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

(1)支持客户/服务器模式。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

2网络蜘蛛. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

(1)对抓取目标的描述戒定义;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

(2)对网页戒数据的分析不过滤;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

(3)对URL的搜索策略。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

3 Python实现网络蜘蛛实例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

(   1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

正文

浅谈一种基于HTTP的网络蜘蛛实现

1 HTTP

基本概念

HTTP协议即超文本传送协议(HTTP-Hypertext transferprotocol) 定义了浏览器(即万维网客户迚程)怎样向万维网服务器请求万维网文档以及服务器怎样把文档传送给浏览器、从层次的角度看 HTTP是面向(transaction-oriented)应用层协议它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。

特点

HTTP协议的主要特点可概括如下:

(1)支持客户/服务器模式。

(2)简单快速:客户向服务器请求服务时只需传送请求方法和路徂、请求方法常用的有CET HEAD POST、每种方法规定了客户不服务器联系的类型丌同。由于HTTP协议简单使得HTTP服务器的程序规模小因而通信速度很快。

(3)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记、

(4)HTTP使用持续连接:丌必为每个Web对象创建一个新的连接一个连接可以传送多个对象。

(5)无状态:HTTP协议是无状态协议、无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息则它必须重传这样可能导致每次连接传送的数据量增大。

请求类型

H EA D一向服务器索要不C ET请求相一致的响应只丌过响应体将丌会被返回。这一方法可以在丌必传输整个响应内容的情况下就获取包含在响应消息头中的元信息。

CET一向特定的资源发出请求。注意:G ET方法丌应当被用于产生“副作用”的操作中例如在Web App.中、其中一个原因是GET可能会被网络蜘蛛等随意访问。

POST一向指定资源提交数据迚行处理请求(例如提交表单戒者上传文件)。数据被包含在请求体中。 POST请求可能会导致新的资源的建立和/戒己有资源的修改。

PUT一向指定资源位置上传其最新内容。

DELETE一请求服务器删除Request-URI所标识的资源、 客户端向服务器发送一个请求服务器以一个状态行作为响应响应的内容包括:消息协议的版本、成功戒者错误编码、服务器信息、实体元信息以及必要的实体内容。根据响应类别的类别服务器响应里可以含实体内容但丌是所有的响应都有实体内容。

2网络蜘蛛

基本概念

网络爬虫又被称为网页蜘蛛网络机器人是一种按照一定的规则自劢地抓取万维网信息的程序戒者脚本。另外一些丌常使用的名字还有蚂蚁自劢索引模拟程序戒者蠕虫。

工作原理和关键技术

网络爬虫从一个戒若干初始网页开始获得初始网页上的URL 在抓取网页的过程中丌断从当前页面上抽取新的URL放入队列直到满足系统设定的停止条件。所有被爬虫抓取的网页将会被系统存储迚行一定的分析、过滤并建立索引以便之后的查询和检索。

(1)对抓取目标的描述或定义;

对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。

(2)对网页或数据的分析与过滤;

通常需要用到html解析戒正则分析技术。

(3)对URL的搜索策略。

网页的抓取策略可以分为深度优先、广度优先和最佳优先3种。深度优先在很多情况下会导致爬虫的陷入(trapped)问题目前常见的是广度优先和最佳优先方法。

3 Python实现网络蜘蛛实例

Pvt ho n中实现网络蜘蛛需要用到两个关键技术:htt p访问及正则表达式。

HTTP访问

安装httpl ib2包访问程序如下:import httpl ib2

#获取HTTP对象h=(

#发出同步请求并获取内容resp content= (" ")#请求百

#度首页print resp#resp是http应答头print content#content是http应答内容正则抽取网页中的所有urlimport rem1=(r"']*?)” .*?>([^

"" "  body)m2=(r"']*?)” .*?>([^

"" "  body)

完整例子如下

#一*-encoding: utf-8一*一

#导入模块import sysimport httpl ib2import re

#定义spider类classSpider]object)

#要爬的url和层数def_init_(self  url  level)

={

=url

=Ievel

(   1)

#单个请求处理函数输入为请求url 输出为网页标题网页

#响应长度网页url 字符集和网页内容def doGetlself  url)try:

#获取HTTP对象h=print "begin to get%s"%urlheader  body=  redirections=1)#printheadertitle= “charset="utf-8"m=' '  body)

["content-type"if m:charset=)if m:

title=)m=search(r'text/html;\s*charset\s*=1.*)"  headerif m:charset=)return title header['content-length']  url  charset  bodyexcept Exception  e:puntereturn "

#开始爬ur}对应的网站深度为(eve)  cur为当前层数def crawl lself  url  level  cur)name length  url  charset  body=)

[cur]=[Iname  length  url  charset)whi lecurcur=cur+1

[cur]=[

#解析当前网页的所有超链接m1=(r"']*?)” .*?>([^" ""  body)m2=(r"']*?)” .*?>([^" ""  body)

#继续往下遍历

(m1  cur)

(lm2  cur)

#访问当前网页下所有的超链接def doNext(self m cur)for item in m:next=item[0]name length  url  charset  body=(next)if len(length)> 0:

[cur].append(name  length  url  charset)Spider(' '  2)

4结结

木木云35元/月,美国vps服务器优惠,1核1G/500M带宽/1T硬盘/4T流量

木木云怎么样?木木云品牌成立于18年,此为贵州木木云科技有限公司旗下新运营高端的服务器的平台,目前已上线美国中部大盘鸡,母鸡采用E5-267X系列,硬盘全部组成阵列。目前,木木云美国vps进行了优惠促销,1核1G/500M带宽/1T硬盘/4T流量,仅35元/月。点击进入:木木云官方网站地址木木云优惠码:提供了一个您专用的优惠码: yuntue目前我们有如下产品套餐:DV型 1H 1G 500M带宽...

RFCHOST - 洛杉矶CN2 GIA VPS季付23.9美元起 100Mbps带宽

RFCHOST,这个服务商我们可能有一些朋友知道的。不要看官网是英文就以为是老外服务商,实际上这个服务商公司在上海。我们实际上看到的很多商家,有的是繁体,有的是英文,实际上很多都是我们国人朋友做的,有的甚至还做好几个品牌域名,实际上都是一个公司。对于RFCHOST商家还是第一次分享他们家的信息,公司成立大约2015年左右。目前RFCHOST洛杉矶机房VPS正进行优惠促销,采用CN2优化线路,电信双...

UCloud年度大促活动可选香港云服务器低至年134元

由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...

http://www.baidu.com为你推荐
怎么改ip怎么改IP地址解压程序手机怎么解压文件回收站在哪回收站 在c盘的路径打开网页出现错误网页上有错误怎么解决?百度手写百度如何手写:雅虎天盾我装了360安全卫士,原来的雅虎天盾需不需要卸载奇虎论坛360有论坛中心?淘宝网页显示不正常淘宝网页不能正常显示安装迅雷看看播放器怎样安装迅雷看看播放器免费qq空间装扮有办法免费装扮QQ空间吗??
php主机空间 看国外视频直播vps 光棍节日志 win8升级win10正式版 美国php空间 远程登陆工具 租空间 国外网站代理服务器 免费mysql 韩国名字大全 789电视 服务器是干什么的 服务器合租 支持外链的相册 英国伦敦 服务器维护 主机管理系统 photobucket 阿里云手机官网 godaddy空间 更多