python爬虫学习笔记1
2021/9/21 17:42:13
本文主要是介绍python爬虫学习笔记1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
认识爬虫
爬虫的概念:又称网页蜘蛛、网络机器人,是一种按照一定规则、自动请求万维网网站并提取网络数据的程序或脚本。(数据是指网络上公开的可以访问到的网页信息)
爬虫的分类
按使用场景:通用爬虫、聚焦爬虫
按爬去形势:累积式爬虫、增量式爬虫
按爬取数据的存在方式:表层爬虫、深层爬虫
镜像备份是什么?
镜像备份是独立文件(数据文件、归档日志、控制文件)的备份。类似操作系统级的文件备份。
URL是什么?
统一资源定位系统,是因特网、万维网服务程序上用于指定信息位置的表示方法。
种子URL理解:就是从哪一个网址开始搜索。
通用爬虫
又称全网爬虫,它将爬取对象从一些种子URL扩充到整个网络,主要用途是为门户站点搜索引擎和大型web服务提供商采集数据。
聚焦爬虫
又称主题网络爬虫,选择性的爬取那些预先定义好的主题相关的页面的网络爬虫。
累积式爬虫
从某一个时间点开始,通过遍历的方式爬取系统所允许存储和处理的所有网页。
增量式爬虫
具有一定规模的网络页面集合的基础上,采用更新数据的方式选取已有集合中的过时网页进行爬取。
表层爬虫
爬取表层网页,表层网页是传统搜索引擎可以索引的页面,以超链接可以到达的静态网页为主构成的web页面。
深层爬虫
爬取深层网页,深层网页是那些大部分内容不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提供一些关键词才能获得的web页面。
爬虫的实现原理和技术
爬虫是一个自动提取网页的程序
nofollow:是html页面中a标签的属性值,告诉搜索引擎不要追踪此网页的链接或不要追踪此特定链接。
DNS:是互联网的一项服务,它作为将域名或IP地址相互映射的一个分布式数据库,能方便访问互联网。(域名系统)
搜索引擎的工作流程
爬取网页、数据储存、预处理、提供检索服务,网站排名。
pagepank:链接的访问量排名
通用爬虫相关网站
robots.txt文件:robots协议(又称爬虫协议、机器人协议)全称是“网络爬虫排除标准”,是互联网界通行的道德规范。它使用#作为注释,一般情况下,该文件以一行或多行User-agent记录开始。
记录的详细介绍:
User-agent:描述搜索引擎robot的名字,在robots.txt文件中,至少有一条User-agent记录。
Disallow:用于描述不希望被访问的一个URL,这个URL可以是完整的路径也可以是部分路径。在robots.txt文件中,至少有一条Disallow记录。
Allow:描述希望被访问的一组URL,一个网站的所有URL默认都是Allow的,所以Allow通常都是和Disallow搭配使用的,实现允许访问一部分网页的同时禁止访问其他所有URL的功能。
注意
- robots.txt文件必须放置在一个站点的根目录下,而且文件名必须全部小写。
- Robots协议只是一种建议,他没有实际的约束力,网络爬虫可以选择不遵守这个协议,但可能会存在一些法律风险。
Sitemap.xml文件
为方便管理员通知爬虫遍历和更新网站的内容,而无需爬取每个网页,网站提供了Sitemap.sml文件(网站地图)
防止爬虫应对策略
- 设置User-Agent:它表示用户代理,是http协议的一个字段,作用是描述发出的http请求的终端信息,如操作系统及版本、浏览器及版本服务器通过这个字段可以知道访问网站的用户。正规的爬虫都有固定的User-Agent。
- 使用代理IP:用户先将请求发给代理IP,代理IP再发送给服务器,服务器会将代理IP视为爬虫的IP,同时用多个代理IP,可以降低单个IP地址的访问量。
- 降低访问频率
- 验证码限制
使用python做爬虫的原因
- 爬取网页本身的接口:相比其他动态脚本语言,python提供了较为完整的访问网页文档的API,相比其他静态编程语言,爬取网页的接口更加简洁。
- 网页爬取后的处理
- 开发效率高
- 上手快
八抓鱼工具的优点
功能强大、操作简单、流程可视化
这篇关于python爬虫学习笔记1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享