初识爬虫1

news/2024/9/19 17:43:57/ 标签: 爬虫

学习路线:爬虫基础知识-requests模块-数据提取-selenium-反爬与反反爬-MongoDB数据库-scrapy-appium。

对应视频链接(百度网盘):正在整理中

爬虫基础知识:

1.爬虫的概念

总结:模拟浏览器,发送请求,获取响应。
2.爬虫的作用
        数据采集
        软件测试
        抢票
        网站上的投票
        网络安全
3.爬虫的分类
        数量
        是否获取数据
        url与数据的关系

 4.爬虫的流程
        url
        发请求,获取响应
        解析

5.http复习
        http以及https的概念和区别
        HTTPSH比HTTP更安全,但是性能更低
6.常见的请求头与响应头
请求头
host                                                域名
Connection                                     长连接
Upgrade-Insecure-Requests          升级为HTTPS请求
***User-Agent                                 用户代理,提供系统信息和浏览器信息
***Referer                                       页面跳转处,防盗链(图片/视频)
***Cookie                                        状态保持
响应头                                             Set-Cookie
7.状态码
所有的状态码都不可信,一切以是否从抓包得到的响应中获取到数据为准
network中抓包得到的源码才是判断依据,elements中的源码是渲染之后的源码

8.浏览器请求的过程
        发送所有请求,进行渲染
爬虫
        只发送指定请求,不会渲染


骨骼文件:html静态文件
肌肉文件:js/ajax请求
皮肤:css/font/图片

源代码        控制台        所有源代码        响应

Network:点刷新,可以看到响应


http://www.ppmy.cn/news/1526911.html

相关文章

vue项目本地可以访问接口,浏览器输入接口可以访问数据,部署到服务器无法报接口404

需求变动,原本访问python的后端接口,现在新增Java的接口 新增的接口在服务器上一直404 ,本地正常,浏览器输入路径正常。 两个后端不同端口,前端配置了两个转发如下: dev: {// PathsassetsSubDirectory: st…

uni-app plus.runtime.arguments 获取参数

uni-app plus.runtime.arguments 获取参数 问题 在 app.vue 中 onShow 获取 应用启动的参数:plus.runtime.arguments 这个是可行的. APP打开以后, 进入到了后台 然后再恢复到前台 仍然会走一次 onShow的生命周期 然后获取到plus.runtime.arguments 中的参数&#x…

Linux:vim编辑技巧

命令模式 光标跳转 输入18,再输入G,可以跳转到18行。 复制、粘贴、删除 P是往上一行粘贴 小写u可以撤销 查找/撤销/保存 大写U可能失效,用CTRLr 末行模式 保存/退出/文件操作 字符串替换 开关参数的控制

CentOS入门宝典:从零到一构建你的Linux服务器帝国

目录 引言 一、CentOS简介与版本选择 1.1 CentOS是什么? 1.2 版本选择 二、安装CentOS 2.1 准备安装介质 2.2 安装过程 三、基础配置与优化 3.1 更新系统 3.2 配置防火墙 3.3 配置SELinux 3.4 系统监控与日志 四、网络配置与管理 4.1 配置静态IP 4.…

解决LineageOS提示网络受限问题

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 问题原因 由于 LineageOS 源码里默认是使用 google captive连接验证服务,所以国内会一直提示网络受限,但是实际上是可以访问网络的。 …

nginx安装及vue项目部署

安装及简单配置 在usr/local下建好nginx文件夹,下载好nginx-1.26.2.tar.gz压缩文件.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel pcre-devel gcc、gcc-c # 主要用来进行编译相关使用 openssl、ope…

MAVEN如何导入项目

工作中经常需要导入他人的项目,那么如何导入呢? 1, 选择Maven面板,点 2,选中对应项目的pom.xml,双击即可 3,如果没有maven面板,可以选择view->Appearnce->Tool Window Bars…

C#使用TCP-S7协议读写西门子PLC(三)

接上篇 C#使用TCP-S7协议读写西门子PLC(二)-CSDN博客 这里我们进行封装读写西门子PLC的S7协议命令以及连接西门子PLC并两次握手 新建部分类文件SiemensS7ProtocolUtil.ReadWrite.cs 主要方法: 连接西门子PLC并发送两次握手。两次握手成功后,才真正连…

Invoke-Maldaptive:一款针对LDAP SearchFilter的安全分析工具

关于Invoke-Maldaptive MaLDAPtive 是一款针对LDAP SearchFilter的安全分析工具,旨在用于对LDAP SearchFilter 执行安全解析、混淆、反混淆和安全检测。 其基础是 100% 定制的 C# LDAP 解析器,该解析器处理标记化和语法树解析以及众多自定义属性&#x…

【HarmonyOS】Beta最新对外版本IDE下载和环境配置

【HarmonyOS】Beta最新对外版本IDE下载和环境配置 前言 目前华为HarmonyOS的系统版本已经从Develop Beta升级为Beta预览版,全面开放。再也不需要白名单限制,才能下载使用最新的IDE和预览最新的开放文档了。 IDE下载和安装 Beta IDE下载地址 1.根据你…

matlab在控制台输出某个变量的值

在 MATLAB 中,要在控制台(命令窗口)输出变量的值,可以使用几种不同的方法: 1. 使用 disp 函数 disp 函数用于显示变量的值,适用于简洁的输出。 % 创建一个变量 x 42;% 在控制台输出变量值 disp(x);2. 使…

transformer模型进行英译汉,汉译英

上面是在测试集上的表现 下面是在训练集上的表现 上面是在训练集上的评估效果 这是在测试集上的评估效果,模型是transformer模型,模型应该没问题,以上的是一个源序列没加结束符和加了结束符的情况。 transformer源序列做遮挡填充的自注意力,这就让编码器的输出中每个token的语…

Kamailio-超强dispatcher负载均衡模块

Kamailio 负载均衡的功能主要依靠 Dispatcher 模块完成,模块官方文档参看 为什么要引入负载均衡?如何使用? 引入和配置功能路由调用命令行指令 为什么要引入负载均衡? Q: 如果单台VOIP服务的性能不能满足业务需求了&#xff0…

【图像匹配】基于SURF算法的图像匹配,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于SURF算法的图像匹配,用matlab实现。 一、案例背景和算法介绍 前…

RabbitMQ(高阶使用)死信队列

文章内容是学习过程中的知识总结,如有纰漏,欢迎指正 文章目录 一、什么是死信队列? 二、死信队列使用场景 三、死信队列如何使用 四、打车超时处理 1.打车超时实现 以下是本篇文章正文内容 一、什么是死信队列? 先从概念解释上搞…

在grafana上配置显示全部node资源信息概览

在grafana上配置显示全部node资源信息概览,便于巡检 1,注册grafana官网账号:Grafana dashboards | Grafana Labs 2、寻找可以展示所有node资源概览信息的dashboard,并下载支持prometheus数据源的dashboard&#xff…

海外云手机——跨国业务的高效工具

海外云手机是一种基于云计算的虚拟手机服务,依托海外服务器实现跨国网络访问。这项服务不仅具备传统智能手机的所有功能,还突破了地域限制,为跨国业务提供更加便捷、高效、安全的解决方案。 随着全球化的加速和互联网的快速普及,跨…

解决:Vue 中 debugger 不生效

目录 1,问题2,解决2.1,修改 webpack 配置2.2,修改浏览器设置 1,问题 在 Vue 项目中,可以使用 debugger 在浏览器中开启调试。但有时却不生效。 2,解决 2.1,修改 webpack 配置 通…

一篇文章,讲清SQL的 joins 语法

SQL 中的不同 JOIN 类型: 1. (INNER)JOIN(内连接):返回两个表中具有匹配值的记录。 2. LEFT(OUTER)JOIN(左外连接):返回左表中的所有记录&#…

LabVIEW提高开发效率技巧----VI服务器和动态调用

VI服务器(VI Server)和动态调用是LabVIEW中的两个重要功能,可以有效提升程序的灵活性、模块化和可扩展性。通过这两者的结合,开发者可以在运行时动态加载和调用VI(虚拟仪器),实现更为复杂的应用…