网络爬虫相关

本文介绍了网络爬虫的基础知识,包括TCP/IP、HTTP协议,Robots协议,Cookie规范,网页编码和HTML语言规范。重点讲解了Web信息提取技术,涉及超链接和内容的提取,提到了Python中的多种信息提取库。同时,文章强调了如何通过统计方法增强爬虫的适应性。
摘要由CSDN通过智能技术生成

1. 相关协议和规范

网络爬虫是一种客户端技术,不能离开客户端独立工作,服务端则是由众多互联网上的Web服务器组成

客户端与服务端:
客户端是在互联网上充当指令发出者的角色,而服务端则是响应方。一般我们访问网站,都是客户端发出请求,然后对方服务器端响应,结果就是返回了页面路径给我们,我们再根据路径看到了网页。

  • 1.1 TCP协议
    TCP协议是网咯爬虫的底层协议,爬虫与Web建立连接,传输数据都是以其为基础。技术上主要体现为Socket编程技术(详见我的博客:Java网络编程)

  • 1.2 HTTP协议
    HTTP协议是一种应用层协议,用于超文本传输,它规定了在TCP连接上向Web服务器请求页面以及服务器向爬虫响应页面数据的方式和数据格式。爬虫对HTTP协议的依赖比较大

  • 1.3 Robots协议
    也被成为爬虫协议,该协议指明了哪些页面可不可以抓取,以及抓取动作的时间,延时,频次等。协议详细介绍:https://www.robotstxt.org/robotstxt.html

  • 1.4 Cookie规范
    Cookie规范是指默写网站为了辨别用户身份,进行Session跟踪并存储在用户本地设备上的数据。通过Cookie可以将用户在服务端的相关信息保存在本地,这些信息通常是用户名,口令,地区标识等,这些信息由浏览器自动读出,通过HTTP协议发送到服务端

  • 1.5 网页编码规范
    目前常用的网页编码格式有:unicode、utf-8、gbk等,爬虫在解析页面内容时就需要识别页面的编码格式

  • 1.6 HTML语言规范
    它是一种用来描述网页的语言,规定了页面的格式,字体,表格等多种元素

2. Web信息提取技术

对于网络爬虫果集页面数据而言,最终的目标是获得页面中的内容。因此如何从HTML编码的内容提取所需要的信息是爬虫采集Web数据需要解决的问题.此外, 山于爬虫是依赖于超链接米获得更多的爬行页面, 所以从Web页面中提取超链接也是Web信息提取的技术问题。
总的来说, Web信息据取包含两大部分, 即Web页面中的超链接提取和Web内容提取, 对于前者而言, 超链接在Web页面中具有相对比较有限的标签特征, 因此通常可以使用简单的正则表达式之类的方法来提取,对于页面中正文内容的提取则要复杂一些,由于不同页面的正文位置并不相同,并且网站也会经常改版,所以为了爬虫解析Web页面的程序能够具备一定的灵活性和适应性, 需要引入一定的技术手段来减轻这种变化所需要的程序维护工作。其常用的方法是将Web页面转换成为一棵树,然后按照一定的规则从树中获得所需要的信息。
目前.在Python中已经有很多种开源库可以用来实现基于树结构的信息提取,川且有灵活的策略可以配置, 这些开源库主要有html.parser、Ixml、html5lib、Beautiful Soup以及PyQuery等, 这些库各有各的优缺点, 开发人员在实际应用中可以选择合适的方法。
一些高级的方法试图使爬虫提取Web信息有更好的适应能力, 一种途径是引人统计思想,对页面中正文部分的各种特征进行统计,在大量样本特征计算的基础上设置合适的特征值范围,从而为自动提取提供依据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值