Python爬虫用途和介绍

目录

什么是Python爬虫

Python爬虫用途

Python爬虫可以获得那些数据

Python爬虫的用途

反爬是什么

常见的反爬措施

Python爬虫技术模块总结

获取网站的原始响应数据

获取到响应数据对响应数据进行过滤

对收集好的数据进行存储

抵御反爬机制

Python爬虫框架

Python爬虫法律风险


什么是Python爬虫

模拟浏览器对网址服务器发送请求,解析服务器返回的响应数据。

Python爬虫用途

代替手动操控浏览器收集数据,通过Python爬虫实现自动收集数据,用作数据分析

Python爬虫可以获得那些数据

因为Python爬虫就是在做浏览器的工作,浏览器是发送请求直接展示返回的响应数据。Python爬虫是发送请求得到响应数据之后,过滤响应数据收集自己想要的信息。

原理都是类似的,所以Python爬虫原则上是只能获取浏览器可以正常获取的数据

Python爬虫的用途

数据分析、对网站进行数据监控、搜索引擎、刷网上数据如播放量、抢票、网络安全等

反爬是什么

对抗Python爬虫的手段的统称。防止数据被恶意获取。

常见的反爬措施

登录才可能看到网站里面的数据、进入网站的各种验证手段、检测同一IP单位时间内的请求量是否异常、请求需要携带特定数据、网站的响应数据被加密等等。

Python爬虫技术模块总结

分为四大部分

获取网站的原始响应数据

1、使用接口请求获取                                                   Request三方库

2、操控浏览器,对浏览器模拟过程中进行获取              Selenium三方库

获取到响应数据对响应数据进行过滤

正则表达式                                                                    re标准库

XPath表达式                                                                 lxml三方库

对收集好的数据进行存储

MySQL、MongDB、Redis相关知识

抵御反爬机制

使用Python代码模拟登录

通过OpenCV计算机视觉、OCR文字识别、机器学习通过验证码识别

了解各类加密算法和JS逆向分析还原网站加密流程,破解加密

Python爬虫框架

市场上宣传最多的是Scrapy框架

个人是不建议使用爬虫框架的,原因如下

        Python已经提供了很多简单的工具库,本身编写爬虫已经很简单了,用了框架反而增加了很多麻烦

        爬虫框架使用的是并发方式进行爬取,如果爬取频率过大,本身就已经是一种网络攻击了,所以爬虫效率过高反而是坏事,严重的情况下是有法律风险

        爬虫框架限制死了爬取网站的流程,如果有些特殊情况下可能爬取流程不一样,反而无法兼容使用,如: 我直接让前端使用插件自动化控制网页进行对网站的HTML获取直接传入后台解析,那么这种情况爬虫框架就无法兼容了

Python爬虫法律风险

技术本身合法

使用Python爬虫进行黑客攻击、使用Python爬虫获取的数据进行谋利、侵犯版权和隐私权违法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89615.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app开发app保持登录状态

在 uni-app 中实现用户登录一次后在 token 过期前一直免登录的功能,可以通过以下几个关键步骤实现:本地持久化存储 Token、使用请求与响应拦截器自动处理 Token 刷新、以及在 App.vue 中结合 pages.json 设置登录状态跳转逻辑。 ✅ 一、pages.json 配置说…

21、MQ常见问题梳理

目录 ⼀ 、MQ如何保证消息不丢失 1 、哪些环节可能会丢消息 2 、⽣产者发送消息如何保证不丢失 2.1、⽣产者发送消息确认机制 2.2、Rocket MQ的事务消息机制 2.3 、Broker写⼊数据如何保证不丢失 2.3.1** ⾸先需要理解操作系统是如何把消息写⼊到磁盘的**。 2.3.2然后来…

MySQL数据库--SQL DDL语句

SQL--DDL语句 1,DDL-数据库操作2,DDL-表操作-查询3,DDL-表操作-创建4,DDL-表操作-数据类型4.1,DDL-表操作-数值类型4.2,DDL-表操作-字符串类型4.3,DDL-表操作-日期时间类型4.4,实例 …

Spring Cloud 服务追踪实战:使用 Zipkin 构建分布式链路追踪

Spring Cloud 服务追踪实战:使用 Zipkin 构建分布式链路追踪 在分布式微服务架构中,一个用户请求往往需要经过多个服务协作完成,如果出现性能瓶颈或异常,排查会非常困难。此时,分布式链路追踪(Distributed…

Linux云计算基础篇(6)

一、IO重定向和管道 stdin:standard input 标准输入 stdout:standard output 标准输出 stderr: standard error 标准错误输出 举例 find /etc/ -name passwd > find.out 将正确的输出重定向在这个find.ou…

Python将COCO格式分割标签绘制到对应的图片上

Python将COCO格式分割标签绘制到对应的图片上 前言前提条件相关介绍COCO 格式简介(实例分割)📁 主要目录结构:📄 JSON 标注文件结构示例:✅ 特点: 实验环境Python将COCO格式分割标签绘制到对应的…

光纤(FC)交换机与以太网(网络)交换机的区别

光纤通道交换机(FC交换机)与普通以太网交换机(网络交换机)在用途、协议、性能、可靠性等方面存在显著差异,主要区别如下: 1. 用途与网络类型 FC交换机 主要用于存储区域网络(SAN)&a…

电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问题

电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问题 简单学习一下有限元法的基础理论,书本为电磁场有限元经典教材: THE FINITE ELEMENT METHOD IN ELECTROMAGNETICS, JIAN-MING JIN 目录 电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问…

云端备份与恢复策略:企业如何选择最安全的备份解决方案

更多云服务器知识,尽在hostol.com 想象一下,某个凌晨,你突然发现公司所有重要数据都被加密,系统崩溃,业务停摆。有人给你打来电话说:“一切都被勒索了,恢复费用可能需要几百万。”这时&#xf…

OSPF高级特性之FRR

一、概述 众所周知,IGP当中链路状态路由协议(OSPF、ISIS)之所以可以代替我们的矢量路由协议(RIP),就是因为链路状态路由协议可以根据某些特性快速的感知到路由的变化从而改变路径。 前面我们已经介绍过了OSPF的其中一个快速收敛的机制,SPF算法,本章节将介绍另一个快速收敛机制,…

多元化国产主板,满足更高性能、更高安全的金融发展

在金融行业数字化转型的浪潮中,对于核心硬件的性能与安全需求达到了前所未有的高度。国产主板应运而生,凭借其卓越的多元化特性,为金融领域带来了高性能运算与高安全防护的双重保障,成为推动金融行业发展的关键力量。以高能计算机…

数据库分布式架构:ShardingSphere 实践

一、数据库分布式架构概述 1.1 分布式架构概念 在当今数字化时代,随着业务的不断拓展和数据量的爆炸式增长,传统的单机数据库架构逐渐暴露出诸多局限性。例如,在电商大促期间,海量的订单数据和用户访问请求会让单机数据库不堪重…

【WRFDA教程第二期】运行WRFDA 3DVAR/4DVAR数据同化

目录 一、准备阶段:下载并解压测试数据二、运行 3DVAR 教学实验日志分析(wrfda.log)进阶实验建议:对比不同设置的影响输出文件说明 三、运行 4DVAR 教学实验步骤1:准备工作目录与环境变量步骤2:链接可执行文…

redis缓存三大问题分析与解决方案

什么是缓存? 缓存(Cache)是一种将热点数据缓存在内存中(如 Redis)以加快访问速度、减轻数据库压力的技术。 但引入缓存后可能出现 三大核心问题: 缓存穿透(Cache Penetration)缓存…

李宏毅机器学习笔记——梯度下降法

深度学习介绍 基于仿生学的一种自成体系的机器学习算法,包括但不限于图像识别、语音、文本领域。 梯度下降法 作为深度学习算法种常用的优化算法 梯度下降法,是一种基于搜索的最优化方法,最用是最小化一个损失函数。梯度下降是迭代法的一…

day50/60

浙大疏锦行 DAY 50 预训练模型CBAM模块 知识点回顾: resnet结构解析CBAM放置位置的思考针对预训练模型的训练策略 差异化学习率三阶段微调 ps:今日的代码训练时长较长,3080ti大概需要40min的训练时长 作业: 好好理解下resnet18的…

Vue3 之vite.config.js配置

一、示例 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path // https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],base: ./,build: {assetsDir: static, //指定静态资源目录rollupOptions: {input: {mai…

利用Gpu训练

方法一: 分别对网络模型,数据(输入,标注),损失函数调用.cuda() 网络模型: if torch.cuda.is_available():netnet.cuda() 数据(训练和测试): if torch.cud…

使用excel中的MATCH函数进行匹配数据

一、背景 在平日处理数据时,经常需要将给定数据按照制定的数据进行排序,数量比较大时,逐个处理有点费事费力且容易出错,这时可借助excel表格中match函数进行精确匹配。 二、使用match函数–精确排序操作步骤 主要工作步骤&#xf…

SpringCloud系列(41)--SpringCloud Config分布式配置中心简介

前言:微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务,但由于每个服务都需要必要的配置信息才能运行,所以—套集中式的、动态的配置管理设施是必不可少的&…