上QQ阅读APP看书,第一时间看更新
2.2 网络爬虫基础知识
2.2.1 网络爬虫概述
爬虫分为横向爬虫和纵向爬虫。横向爬虫主要面向大范围非精确信息的爬取,适用于舆情等概要信息的收集。纵向爬虫主要面向小范围精确信息的爬取,适用于针对某个具体行业的数据获取。
目前,横向爬虫性价比较高,且开源较多。纵向爬虫由于往往需要精确的需求分析,要量身打造,所以开源很少。
2.2.2 使用网络爬虫的风险
网络爬虫这个名字虽然能够形象地描述这项技术,但是有关爬虫的利弊确实存在很多质疑。爬虫频繁地访问网站会导致该网站的资源被占用,甚至用户的个人信息和商业信息都受到侵害。
爬虫技术可能存在以下风险。
1)由于大量占用爬取网站的资源,对爬取网站造成访问困难,严重影响网站的可用性。
2)网站敏感信息的获取是否造成不良后果。
3)违背网站爬取设置。
目前我国还没有专门针对爬虫技术的法律或规范。一般而言,爬虫程序只是在更高效地收集信息,因此从技术中立的角度而言,爬虫技术本身并无违法违规之处。但是,随着数据产业的发展,数据爬取犹如资源争夺战一般越发激烈,数据爬取带来的各种问题和顾虑将日渐增加。
2.2.3 Python爬虫的工作过程
爬虫的工作原理其实和使用浏览器访问网页的工作原理是完全一样的,都是根据HTTP(HyperText Transfer Protocol,超文本传输协议)来获取网页内容。其工作流程主要包括以下几个步骤。
1)连接DNS域名服务器,将待抓取的URL进行域名解析。
2)根据HTTP,发送HTTP Request(请求)和Response(响应)来获取网页内容。
一个完整的网络爬虫基础框架如图2-1所示。
图2-1 网络爬虫基础框架