Python爬虫

目录

1.网络爬虫

2.爬虫的分类

①通用爬虫

②聚焦爬虫

③增量式爬虫

3.反爬机制&反反爬策略

4.HTML网页(详细复习前面web知识)

5.网络请求

6.请求头常见参数

①User-Agent

②Referer

③Cookie

7.常见响应状态码

[8.URL(host、port、path ...)](#8.URL(host、port、path ...))

9.网页分类

①表层网页

②深层网页


1.网络爬虫

网络爬虫是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。

网页一般由html语言进行编写,抓取其中的数据就相当于在html中找到相应的内容进行抓取。

将网页中的数据和信息保存到本地就是网络爬虫。

2.爬虫的分类

①通用爬虫

抓取系统重要组成部分。(抓取的是一整网页的数据)

②聚焦爬虫

是建立在通用爬虫的基础之上。(抓取的是页面中特定的局部内容)

③增量式爬虫

是检测网站中数据更新的情况。(只会抓取网站中最新更新的数据)

3.反爬机制&反反爬策略

反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。

反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具有的反爬机制,从而获取门户网站。

4.HTML网页(详细复习前面web知识)

HTML网页主要由标签构成。

标签分为闭合标签和自闭和标签。

标签还包含有标签属性。

5.网络请求

已知ip想服务器发送了ip,即访问请求,服务器返回html的过程称为网络请求。

常见协议:(GET和POST最为常用)

GET:发送请求来获得服务器上的资源。

POST:向服务器提交资源让服务器处理。

HEAD:主要用来检查资源或者超链接的有效性或者是否可以打开,检查网页是否被篡改或者更新。

PUT:向指定资源位置上上传最新内容

DELETE、CONNECT、OPTIONS、TRACE...

6.请求头常见参数

①User-Agent

浏览器的名称。

②Referer

表明网页是从哪个网站转跳而来。

③Cookie

HTTP协议是无状态的。当多次请求同时发送时,使用Cookie作为区分。

7.常见响应状态码

状态码 含义

200 请求成功

301 永久重定向,资源(网页等)被永久转移到其他URL

404 请求的资源(网页)不存在

500 内部服务器错误

8.URL(host、port、path ...)

URL表示统一资源定位符,俗称网址。

每一个信息资源在网上都有唯一的一个网址,这就是URL。

URL遵守以下法则:scheme-定义因特网服务类型,即访问因特网的协议。常见协议有:https、http、ftp、file。

  • http:明文传输,不安全,容易被截取到相关信息。

  • https:加密传输,相对安全。

  • ftp:qq传输文件时,就会遵循ftp协议。

  • file:本地文件访问时遵循的协议。

host:主机名、域名

port:定义主机上的端口号(http默认端口号是80;https默认端口号443)

path:定义服务器上的路径

9.网页分类

网页按存在方式可以分为两类:

①表层网页

传统引擎可以索引的页面,主要以超链接就可以达到的静态网页构成的网页。

②深层网页

深层网页是指大部分内容无法通过静态链接获取,只能通过用户提交的一些 关键词才能获取。

相关推荐
一枕槐安4871 天前
少样本提示(Few-shot)在业务场景的落地实践
大数据·人工智能·意图分类·mmr多样性·knn检索·动态示例选择
小徐不徐说1 天前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang1 天前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go1 天前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog1 天前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3271 天前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
roman_日积跬步-终至千里1 天前
零售与数仓(二):从经营问题到可信证据,数仓怎样建设?
大数据·零售
weixin_307779131 天前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102161 天前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷1 天前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++