爬虫——爬虫初识
1.概念
1.1什么是爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,通俗的讲就是通过程序去获取web页面上自己想要的数据,也就是自动抓取数据。
1.2爬虫有什么用
爬虫是为了获取数据,比如你想在网页上下载一些图片,一张一张的手动下载又太慢,就可以通过爬虫快速的爬取图片;获取的数据可以用于数据分析的素材等等。
1.3爬虫的本质
爬虫实际上就是用程序模仿用户向服务器发送请求,服务器返回数据后,程序通过分析和过滤html代码,从中获取我们想要资源(文本,图片,视频.....)。
2.原理
2.1爬虫的基本流程
发起请求
通过HTTP库向目标站点发起请求,也就是发送一个Request,请求可以包含额外的header等信息,等待服务器响应
获取响应内容
如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能是HTML,Json字符串,二进制数据(图片或者视频)等类型
解析内容
得到的内容可能是HTML,可以用正则表达式,页面解析库进行解析,可能是Json,可以直接转换为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理
保存数据
保存形式多样,可以存为文本,也可以保存到数据库,或者保存特定格式的文件
2.2 Request和Response
见博客:https://www.cnblogs.com/lymlike/p/11579840.html
2.3如何解析数据
- 直接处理
- Json解析
- 正则表达式处理
- BeautifulSoup解析处理
- PyQuery解析处理
- XPath解析处理
2.4如何保存数据
- 文本:纯文本,Json,Xml等
- 关系型数据库:如mysql,oracle,sql server等结构化数据库
- 非关系型数据库:MongoDB,Redis等key-value形式存储
终日不为以思,无益,不如学也