爬虫专栏第一篇:深入探索爬虫世界:基础原理、类型特点与规范要点全解析

本专栏会对爬虫进行从0开始的讲解,每一步都十分的细致,如果你感兴趣希望多多点赞收藏关注支持

简介:文章对爬虫展开多方面剖析。起始于爬虫的基本概念,即依特定规则在网络抓取信息的程序或脚本,在搜索引擎信息提取上作用显著。阐述其于大数据背景下可助力获取并处理分析数据的价值。着重说明避免违法的关键,涉及遵循网站 robots.txt 文件规定、合理控制访问频率、杜绝恶意篡改网站信息以及尊重个人隐私与知识产权等方面。详细解读通用爬虫,涵盖 URL 构成要素与搜索引擎获取新网站 URL 的途径等。同时深入介绍聚焦爬虫,包含 Chrome 浏览器开发者工具 F12 的运用、HTTP 超文本传输协议的 GET 和 POST 操作以及 HTTP 协议字段解析,如 Cookie、user-agent 等重要组成部分与常见状态码含义等,为读者清晰展现爬虫的全貌。

1爬虫的基本介绍

1.1什么是爬虫

爬虫是一种按一定规则在互联网上抓取信息的程序或脚本。他可以自动的访问互联网上的网页,搜索引擎(百度 谷歌)使用大量的爬虫提取网页的关键词,这样当用户在搜索引擎中输入关键词时,就能快速地找到相关的网页。

1.2爬虫的价值与意义

常说现在是大数据时代,这些数据如果市场上没有,或者不愿意购买,可以选择自己使用爬虫去获取需要的数据,进行处理和分析

1.3避免违法

如果不想因为爬虫触犯法律:

(第一点):它存放在网站根目录下的 robots.txt 文件中,用于告诉爬虫哪些页面可以抓取,哪些不可以。比如在下图百度的网址后+robots.txt就可以找到那些是不允许的了。

(第二点):控制访问频率避免对服务器带来较大负担

(第三点):不要恶意篡改网站信息,会涉及到破坏计算机信息系统罪

(第四点):尊重个人隐私,尊重知识产权

1.4通用爬虫

他是搜索引擎的重要组成部分,从互联网采集信息,为建立索引提供支持,决定了搜索殷勤的内容是否丰富,即时。

1.4.1什么是URL

URL是互联网资源的门牌号,由多个部分组成:

(第一部分--协议):比如我用一台手机,打开一个网页。我这个手机需要的是页面的信息,所以我的手机是被服务的客户叫做客户端,给予信息的是提供服务的叫做服务端或者服务器。他们要遵循一种特定的规则去实现信息的传输,常见协议有https (超文本传输安全协议)

http(超文本 传输协议)

ftp(文件传输协议)

(第二部分是IP地址)比如www.baidu.com就是ip地址

(第三部分是端口)一般默认http默认端口是80,会被省略。

(第四部分)path访问资源的路径

(第五部分参数)我们通过百度搜索python,观察一下地址栏的变化

可以看到参数wd = python说明这是搜索的参数

搜索引擎获取新网站URL的三种方式:

(第一种)新网站主动向搜索引擎提交网址

(第二种)在其他网站上设置新网站外链

(第三种)和dns解析服务商合作

1.5聚焦爬虫

他是针对于特定网站或平台进行某一类数据爬取

1.5.1 Chromne浏览器开发者工具F12

按F12或者右键检查。比如我们打开百度网站,打开开发者工具

刷新网站找到www.baidu.com的抓包:

注重强调要对: 保留日志/preserve log部分打钩,他的作用是比如我要完成一次登录,那么他可以保证登录的请求不丢失。登录完以后还可以已通过开发者工具看到自己提交的登录请求,如果不打钩,他会自动丢失。

那么为什么不能丢失呢?因为我们在使用爬虫的时候会遇到登录问题,我们需要抓登录需要的包,将爬虫模拟成真人登录,才能爬取我们需要的信息。

1.5.2 HTTP 超文本传输协议

比如手机打开一个百度浏览器他会自动输入百度的网址,通过URL地址对存储百度页面的服务器发送请求GET /POST,而服务器给予响应。

GET:比如需要一个网页页面 ,就是GET

POST:比如需要登录输入用户名密码就是POST

我们可以通过抓包看GET,打开百度首页开发者工具刷新:

我们可以看到一个GET请求,他的状态码是200,目前只需要知道状态码都是三位数,2开头的代表访问正常,4开头代表访问异常,比如常见的404,406。我们会单独将状态码这个知识点,目前留个印象就好。

1.5.3 HTTP协议字段解析

还是打开百度首页,打开开发者工具抓包并刷新:

可以看到很多信息,我把常用信息进行讲解,这三个代表着 URL地址 方法 以及 状态码。

鼠标滚轮往下滚可以看到:

Cookie的作用很重要,比如你在一个购物网站登录了,服务器怎么识别出来你。他检测方法之一就是判断cookie是否正确。

user-agent也很重要,他代表着我们是通过什么浏览器,什么系统去访问的。服务器一看到他就知道是真人访问。爬虫对于服务器来说是压力。将心比心,你们开发一个网站是不是更乐意把网站提供给真人,因为信息的传播会带来价值,给爬虫又不会给你创造价值。所以服务器可以通过多种方式判断爬虫从而降低爬虫打来的压力。作为爬虫,我们要做的就是模仿成真人的访问,把自己做的正常一点

对于相应状态码要单独讲解:

1开头 代表成功接收部分请求

2开头代表成功

3开头代表需要客户需要细化请求

4开头代表有错误 :404无法找到403拒绝访问权限不够

5开头 服务器端遇到不可预知的错误

相关推荐
数据小小爬虫3 小时前
如何利用Python爬虫获取商品历史价格信息
开发语言·爬虫·python
黑色叉腰丶大魔王3 小时前
《基于 Python 的网页爬虫详细教程》
开发语言·爬虫·python
laity174 小时前
爬取小说案例-BeautifulSoup教学篇
爬虫·python
lovelin+v175030409666 小时前
智能电商:API接口如何驱动自动化与智能化转型
大数据·人工智能·爬虫·python
FBI78098045948 小时前
API接口在电商行业中的创新应用与趋势
运维·网络·人工智能·爬虫·python
数据小爬虫@9 小时前
Python爬虫抓取数据,有哪些常见的问题?
开发语言·爬虫·python
漫无目的行走的月亮9 小时前
基于Python Scrapy的豆瓣Top250电影爬虫程序
爬虫·python·scrapy
是我知白哒10 小时前
lxml提取某个外层标签里的所有文本
前端·爬虫·python
小爬虫程序猿1 天前
利用爬虫获取的数据能否用于商业分析?
爬虫
Jelena技术达人1 天前
利用Python爬虫获取微店商品详情API接口的深入指南
开发语言·爬虫·python