目录
一、网络爬虫总结
爬虫(又称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者);它是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。
1.爬虫的分类
通用爬虫
通用网络爬虫从互联网中搜集网页,采集信息,这些网页信息决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。
通用搜索引擎所返回的结果都是网页,而大多情况下,网页里90%的内容对用户来说都是无用的。通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询,无法准确理解用户的具体需求。
聚焦爬虫
聚焦爬虫是"面向特定主题需求"的一种网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息, 如12306抢票,或专门抓取某一个(某一类)网站数据。
根据url地址和对应的页面内容是否改变,数据增量爬虫可以分为:
(1)基于url地址变化、内容也随之变化的数据增量爬虫
(2)url地址不变、内容变化的数据增量爬虫
2.爬虫的步骤
发起请求:Request
Request 对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过 HTML 表单或在网页地址后面提供参数的方法提交数据。然后服务器通过 request 对象的相关方法来获取这些数据。request 的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。
(1)Request 包含:请求 URL、请求头、请求体等
(2)Request 请求方式: GET/POST
(3)请求url: url全称统一资源定位符,一个网页文档、一张图片、 一个视频等都可以用url唯一来确定
(4)请求头:User-agent:请求头中如果没有 user-agent 客户端配置,服务端可能将你当做一个非法用户;
(5)cookies: cookie 用来保存登录信息
获取响应内容
爬虫程序在发送请求后,如果服务器能正常响应,则会得到一个Response,即响应;Response 信息包含:html、json、图片、视频等,如果没报错则能看到网页的基本信息。
响应状态:
200:代表成功
301:代表跳转
404:文件不存在
403:权限
502:服务器错误
解析内容
(1)解析 html 数据:解析 html 数据方法有使用正则表达式、第三方解析库如 Beautifulsoup,pyquery 等
(2)解析 json 数据:解析 json数据可使用 json 模块
(3)解析二进制数据:以 b 的方式写入文件
保存数据
爬取的数据以文件的形式保存在本地或者直接将抓取的内容保存在数据库中&#