龙源期刊网
http://www.qikan.com.cn
浅析
Python
网络爬虫
作者:陈超
来源:《教育周报
·
教育论坛》
2019
年第
46
期
摘要:
网络爬虫(
Web Spider
)又称网络蜘蛛、网络机器人,是一段用来自动化采集网站
数据的程序。如果把互联网比喻成一个蜘蛛网,那么
Spider
就是在网上爬来爬去的蜘蛛。
Python
适用于网站、桌面应用开发,自动化脚本,复杂计算系统,科学计算,生命支持管理系
统,物联网,游戏,机器人,自然语言处理等很多方面。本文简要介绍对于定向信息采集所需
了解基本知识和相关技术,以及
python
中与此相关的库,同时提供对与数据抓取有关库的封
装实现。
一、应用场景
爬虫技术在科学研究、
Web
安全、产品研发、舆情监控等领域可以做很多事情。如:在数
据挖掘、机器学习、图像处理等科学研究领域,如果没有数据,则可以通过爬虫从网上抓取
;
在
Web
安全方面,使用爬虫可以对网站是否存在某一漏洞进行批量验证、利用
;
在产品研发方
面,可以采集各个商城物品价格,为用户提供市场最低价
;
在舆情监控方面,可以抓取、分析
微博的数据,从而识别出某用户是否为水军。
二、运行流程
对于定向信息的爬取,爬虫主要包括数据抓取、数据解析、数据入库等操作流程。其中:
(
1
)数据抓取:发送构造的
HTTP
请求,获得包含所需数据的
HTTP
响应
;
(
2
)数据解析:对
HTTP
响应的原始数据进行分析、清洗以提取出需要的数据
;
(
3
)数据入库:将数据进一步保存到数据库(或文本文件),构建知识库。
三、相关技术
爬虫的相关技术包括:
(
1
)数据抓取:了解
HTTP
请求和响应中各字段的含义
;
了解相关的网络分析工具,主要
用于分析网络流量,如:
burpsuit
等。一般情况,使用浏览器的开发者模式即可
;
(
2
)数据解析:了解
HTML
结构、
JSON
和
XML
数据格式,
CSS
选择器、
Xpath
路径表
达式、正则表达式等,目的是从响应中提取出所需的数据
;
(
3
)数据入库:
MySQL
,
SQLite
、
Redis
等数据库,便于数据的存储
;