python_爬虫

news2024/11/25 12:29:17

定时、定量、制定目标的数据搜集程序。

技术库

网络请求

  • urllib
  • requests(三方)/ urllib3
  • selenium(UI自动测试、动态js渲染)
  • appium(手机App的爬虫或UI测试)

urllib

在这里插入图片描述

requests

基于urllib和urllib3封装的便捷使用的网络请求库
在这里插入图片描述

数据解析

  • re正则
  • xpath
  • bs4
  • json

数据存储

  • pymysql
  • mongodb
  • elasticsearch

多任务库

  • threading(多线程)、queue(线程队列)
  • asynio(协程)、gevent/eventlet(三方)

爬虫框架

  • scrapy
  • scrapy-redis(分布式多机爬虫)

反爬策略

  • UA(User-Agent)策略
  • 登录限制(Cookie)策略
  • 请求频次(IP代理)策略
  • 验证码(图片-云打码,文字或物件图片选择、滑块)
  • 动态js(Selenium/Splash/api接口)策略

爬虫与服务端的交互

伪造浏览器(User-Agent指定请求头),向服务器发起请求,接收响应数据,根据数据类型解析存储。
在这里插入图片描述
WSGI (web Servive Gateway interface web服务网关接口 基于socket)
WebKit (web客服端实现的框架)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

什么是“孤岛效应”? ----防孤岛保护装置

防孤岛保护是对分布式光伏电站有着重要保护作用的。即当电网出现电压高、电压低、频率高、频率低故障时,光伏并网开关及时跳闸。当电网恢复供电并且电压和频率达到允许值时,并网开关要自动合闸。这样的目的是在为了国家电网不受太大影响的情况下&#xf…

理解透C语言一维数组,二维数组这一篇就够啦!

前言 💖作者:龟龟不断向前 ✨简介:宁愿做一只不停跑的慢乌龟,也不想当一只三分钟热度的兔子。 👻专栏:C初阶知识点 👻工具分享: 刷题: 牛客网 leetcode笔记软件&#xff…

网站部署:使用Nginx部署vue项目到阿里云服务器

最近租了个阿里云的服务器,想使用Nginx把刚做好的网站部署上去 下载Nginx 目前yum已经有了Nginx的源,因此可以直接用yum下载和安装 yum -y install nginx默认的安装位置为/etc/nginx 默认的项目位置为/usr/share/nginx 如果安装失败检查是否安装了zli…

渗透测试-CTF文件类型操作

识别文件类型 文件分离 文件合并 识别文件类型 当文件没有后缀名或者有后缀名无法正常打开时,根据识别的文件类型来修改后缀名即可正常打开文件。 使用场景:不知道后缀名,无法打开文件。 第一种方式:kali中使用 file 文件名 f…

173:vue+openlayers:解决国内openstreetmap地图加载不出来的问题(代码示例)

第173个 点击查看专栏目录 近来写程序,发现openlayers用OSM方式来加载OpenStreetMap地图,一片爆红,瓦片加载不出来。 本示例的目的是介绍演示如何在vue+openlayers中解决OpenStreetMap地图在国内被DNS污染,加载不出来瓦片的问题,通常我们是直接引用OSM,这里采用的是XYZ方…

2022年11月第十四届蓝桥杯校模拟赛详解+代码(一)

“须知少时凌云志,自许人间第一流” 鄙人11月八号有幸参加学校蓝桥杯校选拔赛,题型为5道填空题,5道编程题,总时间为小时。奈何能力有限,只完成了5道填空和3道编程大题,现进行自省自纠,分享学习&…

国产ETL工具 BeeDI 产品“实时同步“之 高阶 功能组件

BeeDI 提供“ 实时”企业数据集成。实时组件通过实时处理和传输业务数据的能力,增强了BeeDI的批处理功能。为满足当下复杂的业务需求,IT部门需要实时集成以加快核心业务流程和信息流。使用实时功能,IT部门可以使用统一界面,从BeeD…

【Mybatis】mybatis使用与理解

1. mybatis基础环境搭建 若想使用mybatis,需要有如下两个jar包:①mybatis的核心jar包。②数据库驱动包。 (想使用别人提供的服务就必须要有别人的jar包;mybatis是和数据库打交道的,那么你的程序中,数据库的…

【MySQL高级】MySQL的锁机制

目录 概述 MyISAM 表锁 InnoDB行锁 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。 在数据库中,除传统的 计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共…

重装系统后要安装哪些驱动

​重装win10后需要安装驱动吗?win10系统比win7系统高级的地方在于系统内置了很多驱动,这可以省去用户很多安装时间,下面小编来告诉大家重装系统后要安装的驱动有哪些。 工具/原料: 系统版本:windows10系统 品牌型号&#xff1…

mysql8其它新特性

文章目录MySQL8.0新特性新特性1:窗口函数序号函数ROW_NUMBER()函数RANK()函数DENSE_RANK()函数分布函数PERCENT_RANK()CUME_DIST()函数前后函数LAG(expr,n)函数LEAD(expr,n)函数首尾函数FIRST_VALUE(expr)函数LAST_VALUE(expr)函数其它函数NTH_VALUE(expr,n)函数NTI…

Docker 常用命令大全

个人理解 docker中的镜像 就像是咱们java 中的Class ,而容器呢 是基于这个镜像构建出的实例 类似于咱java 中 根据Class构造出的一个个实例对象 ,本人是初学者 理解有误还请见谅,并麻烦您说说您的看法让彼此相互学习… 按我理解 简言之 doc…

Java-日期类,正则实验

1. 随机产生两个日期时间,输入按时间先后顺序输出 public class RandomDate {SuppressWarnings("deprecation")public static void main(String[] args) throws ParseException {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd HH:mm:ss&…

二分查找 【模板+中间值问题】

全文目录😃前言😕二分查找动图演示😴代码模板❗️ 使用哪个模板问题 ❗️💢 mid为何1问题 💢😃前言 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。…

[解决]github上传大文件卡住

0x00 需求 github目前的策略是超过50M的文件不允许上传,推荐使用lfs。 0x01 操作 再把之前提交的commit 回滚: git reset --hard commitId 在配置lfs: git lfs install git lfs track "*.zip" git lfs track "*.jar" git…

【K8S】亲和、反亲和、污点、容忍

文章目录【K8S】亲和、反亲和、污点、容忍K8s调度亲和与反亲和Pod和Node硬亲和和软亲和requiredDuringSchedulingIgnoredDuringExecution:硬策略preferredDuringSchedulingIgnoredDuringExecution:软策略污点与容忍污点(Taint)污点…

Python学习----基础语法2

布尔类型 布尔本质上是 1 和 0 if 基本语法格式 语法还是比较简单的 , 需要注意的是 , Python是通过空格缩进来判断代码块归属的 ( 不像java这么通过 花括号进行区分 ) , 默认是四个空格 , 你也可以使用两个或者三个等 , 只要全部统一即可 , 但是编辑器会有提示 , 规范是四…

一文带你快速了解ptrdiff_t

简介 ptrdiff_t是C/C标准库中定义的一个与机器相关的数据类型。ptrdiff_t类型变量通常用来保存两个指针减法操作的结果。 ptrdiff_t定义在stddef.h(cstddef)这个文件内。 ptrdiff_t通常被定义为long int类型。 ptrdiff_t定义在C99标准中。 标准库类…

【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Form表单填写、Dialog对话框弹出

文章目录目标代码0.页面结构1.新增按钮和弹出表单:结构2.新增按钮和弹出表单:点击新增弹出表单3.表单样式4.表单验证5.表单的提交和取消功能:接口、mock相关准备6.表单的提交和取消功能提供的数据和接口1-operateFormLabel.js5-user.js效果总…

小程序转App最便捷的方法,附实操

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。 它也是构建未来的Google Fuchsia应…