【你真的会斗图嘛?】Python爬虫实战项目——你想要的图都可以爬到(附安装地址)

news2024/11/27 21:12:22

目录

  • 一、安装知识
    • (1)Python环境变量
    • (2)Pycharm开发工具
    • (3)requests模块
      • 1、安装下载好Pycharm之后,找到终端进行下载requests模块
      • 2、输入下载语法:
      • 3、此次项目还需用到正则(re),
  • 二、代码部分
    • 1、导入下载好的requests模块
    • 2、输入需要爬取网站的网址
    • 3、通过请求网址拿到网页中所有的数据

大家好,我是辣条哥!
相信大家对于现在聊天的一些图片,表情包这些并不陌生,甚至现在还有专门互相斗图的!辣条有不不少爱斗图的朋友,但个人表情包储备量着实很少,但是架不住我有技术,于是乎我动起了我的小手,这里也告诉大家怎么操作,让大家在斗图路上一去不回头!
在这里插入图片描述

一、安装知识

(1)Python环境变量

网址:https://www.python.org/
下载与自己电脑版本相对应的环境即可

(2)Pycharm开发工具

网址:https://www.jetbrains.com/pycharm/download/#section=windows
在这里插入图片描述

(3)requests模块

1、安装下载好Pycharm之后,找到终端进行下载requests模块

在这里插入图片描述

2、输入下载语法:

pip install requests点击回车等待下载完成即可

3、此次项目还需用到正则(re),

但正则模块不需要下载,因为正则是Python自带的模块,我们不需要下载只需导入即可使用(如何导入模块在下方)

二、代码部分

1、导入下载好的requests模块

在这里插入图片描述

2、输入需要爬取网站的网址

(1)此次项目为斗图啦
(2)网址为字符串类型,在Pycharm中得需要用变量名来接收
在这里插入图片描述

3、通过请求网址拿到网页中所有的数据

(1)用到前面早已下载好的requests模块进行请求网址
在这里插入图片描述

(2)进行打印输出看数据有没有全部获取下来
在这里插入图片描述

打印内容:
在这里插入图片描述

(3)数据未获取完整,为什么呢?
① 浏览器也不蠢,浏览器检测出我们是使用爬虫进行抓取该网站信息,所以给我们进行反爬处理了,那么我们想达到“反反爬”的机制该如何来实现呢?——加“请求头”
② 那么请求头在哪呢?
1)在目标网页的空白处右键检查
在这里插入图片描述

2)找到请求头
在这里插入图片描述

3)CV进我们的项目中
在这里插入图片描述

我们所CV进来的请求头是属于字典类型,所以我们得遵循字典类型的规范,用花括号包含起来,并区分key与value值
4)写入之后需把请求头加到请求语句中去
在这里插入图片描述

5)进行重新打印输入
在这里插入图片描述

这样就拿到目标网页中所有的数据
6)拿到数据之后利用正则进行数据清洗,拿到我们想要图片的网址
a、目标网址在我们所获取到所有的代码中(如下图)
在这里插入图片描述

b、通过正则表达式拿到网址
在这里插入图片描述

c、打印输出
在这里插入图片描述

这样我们就能拿到所有目标图片的网址了,但是现在的网址是在列表中,那么我们如何才能从列表中把每一张图片的网址拿出来呢?
下周辣条会继续更新

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

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

相关文章

【STM32】制作一个bootloader

工作环境:STM32CubeMXKeil 相关环境准备这里就不介绍了。 bootloader是什么 bootloader就是单片机启动时候运行的一段小程序,这段程序负责单片机固件的更新,也就是单片机选择性的自己给自己下载程序。可以更新,可以不更新&…

C++课程设计:电梯控制系统程序设计

目录 电梯控制系统程序设计背景 类结构图 程序设计 程序释义 运行展示 总结与体会 电梯控制系统程序设计背景 电梯控制系统程序设计旨在通过C编程实现电梯的模拟功能,使用户能够选择上行或下行,并输入要进入的楼层,程序将模拟电梯运行过…

死锁细究!

一、死锁的定义&危害 1、死锁是什么 发生在并发中互不想让:当两个(或更多)线程(或进程)相互持有对方所需要的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的…

学生成绩管理系统(C语言)

学生成绩管理系统 一、实现思路二、代码的实现(1)构造功能框架(2)实现各项功能 三、完整的代码四、总结 本篇博客介绍一个关于学生成绩管理系统的C语言代码,包含读取成绩、计算各门课程的总分和平均分、按分数排序、按…

快速实现一个分布式定时器

定时器(Timer)是一种在业务开发中常用的组件,主要用在执行延时通知任务上。本文以笔者在工作中的实践作为基础,介绍如何使用平时部门最常用的组件快速实现一个业务常用的分布式定时器服务。同时介绍了过程中遇到问题的一些解决方案…

手机越狱:探索自由与风险的边界

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊 座右铭:不想…

100天精通Golang(基础入门篇)——第5天: Go语言中的数据类型学习

🌷 博主 libin9iOak带您 Go to Golang Language.✨ 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《I…

htmlCSS-----盒模型

目录 前言: 盒子 1.内容区域 2. 边框 3. 内边距区域 4. 外边距区域(margin) 怪异盒模型 前言: 前面我们学习了CSS中的选择器的使用方法,那这一节我们就学习CSS中的盒模型,通过盒模型我们可以去更好的…

uni-app引入html2canvas截图以及截长图

下载安装html2canvas 方式一,https://www.bootcdn.cn/ CDN网站下载html2canvas插件 这里下载后放在测项目目录common下面 页面中引入 方式二、npm方式安装html2canvas 1、npm方式下载 npm i html2canvas2、引入html2canvas import html2canvas from html2can…

数据结构——广义表

文章目录 前言二、特殊矩阵的压缩存储数组的存储结构和实现按行优先存储按列优先存储 矩阵的压缩存储稀疏矩阵 广义表 总结 前言 数组,数组的压缩存储,广义表 二、特殊矩阵的压缩存储 数组的存储结构和实现 对于多维数组,可以分为按行优先…

UnityVR--组件9--视频组件VideoPlayer

目录 前言 参数解释 RenderMode渲染方式 VideoPlayer类中的API 前言 在之前的VR场景中已经使用过VideoPlayer播放视频(Unity.UI的交互(6)-播放视频),不过在VR中设置是有些不同的,这里更详细地说明一下V…

8.面向对象编程(高级部分)|Java学习笔记

文章目录 类变量和类方法类变量类变量使用注意事项和细节 类方法类方法使用注意事项和细节 理解 main 方法语法代码块代码块使用注意事项和细节讨论 单例设计模式单例模式应用实例饿汉式 VS 懒汉式 final 关键字final 使用注意事项和细节 抽象类抽象类的介绍抽象类使用的注意事…

软件测试|测试金字塔是什么,它的目的是什么,以及它包含哪些层次?

一、测试金字塔的概念: 测试金字塔是2009年Mike Cohn在他的著作《Succeeding with Agile》一书正式提出的。他是一个类比的概念,形容每一层,或者说不同集成阶段测试覆盖率和知行效率之间的一个相对关系。 测试金字塔最初的原型分三层&#…

chatgpt赋能python:Python循环间隔-了解如何在循环中增加延时

Python循环间隔 - 了解如何在循环中增加延时 在Python编程中,循环是非常常见且重要的控制语句。 它使我们可以多次执行代码块。 但是,在有些情况下,您可能需要在循环之间增加一定的延时时间。 这就是Python循环间隔的概念。 在本文中&#x…

初次使用PPYOLOE-R

目的:优化基于yolov5-obb旋转目标检测算法的证件区域检测,之前的方法是基于anchor,每次使用都要调试anchor;而ppyoloe-r是free anchor的算法; 源码位置:https://github.com/PaddlePaddle/PaddleDetection/…

学成在线----day2

1、mybatis-plus分页 pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.ap…

【大数据之Hive】九、Hive之DDL(Data Definition Language)数据定义语言

1 数据库 [ ] 里的都是可选的操作。 1.1 创建数据库 语法&#xff1a; create database [if not exists] database_name [comment database_comment(注释)] [location hdfs_path] [with dbproperties (property_name-propertyproperty_value,...)]; 如&#xff1a; creat…

真实性能测试案例之性能分析与报告

今天主要跟大家分享一个曾经所做的真实性能测试的案例&#xff0c;主要为其中性能测试分析报告过程部分&#xff0c;希望能对你以后怎么做性能分析和报告有所帮助。这个案例的测试目的为&#xff1a;在线考试为“XX平台”中的一个重要模块&#xff0c;根据目前业务的需要&#…

ChatGPT实用使用指南 让它解你所问

Chatgpt无疑是这几年来影响力最大的AI技术之一&#xff0c;生成式的AI模型正在促进各个行业的效率和自动化发展&#xff0c;Chatgpt对于个人、企业和各个行业都有着一定的影响 在我刚接触的时候&#xff0c;发现对Chatgpt的认知太肤浅了&#xff0c;一个最强的ai聊天机器人摆在…

实时检测Aruco标签坐标及位姿opencv-python4.6和4.7版本

先说opencv-contrib-python4.7.0.72时&#xff0c;aruco下面带曲线&#xff0c;但是程序也能跑&#xff0c;可以跑检测的&#xff0c;对比4.6版本需要改三个函数 4.6装opencv-contrib-python 4.7装opencv-contrib-python 1 cv2.aruco.Dictionary_get() cv2.aruco.getPredef…