爬虫2—用爬虫爬取壁纸(想爬多少张爬多少张)

先看效果图:

 我这个是爬了三页的壁纸60张。


上代码了。

import requests
import re
import os
from bs4 import BeautifulSoup

count=0
img_path = "./壁纸图片/"#指定保存地址
if not os.path.exists(img_path):
        os.mkdir(img_path)
headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0",
"Accept":"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8",
"Accept-Encoding":"gzip, deflate, br",
"Accept-Language":"zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"
}
for num in range(2,5,1):
    url=f"http://www.netbian.com/index_{num}.htm"
    html=requests.get(url,headers=headers)
    html.encoding = "gbk"
    print(html.status_code)
    if html.ok:
        html = html.text
        #print(html)
        soup = BeautifulSoup(html,'html.parser')
        all_list=soup.find(class_="list")
        all_img = all_list.find_all("img")
        for img in all_img:
            src=img['src']
            print(src)
            count+=1
            myimg = requests.get(src)
            file_name = f'{img_path}图片{str(count)}.jpg'
            # 图片和音乐WB的二进制写入方式
            f = open(file_name, "wb")
            f.write(myimg.content)




看起来还挺简单的,但是我花了,一下午的时间,去看b站和自己试试。才搞完。效率好低。

上面导入了re的包,我想用re但是我不会经过简单的尝试放弃了。

简单说一下代码吧!!!

1.上面那个头,在我上一篇的爬虫,有该怎么找!!!
2.

count=0
img_path = "./壁纸图片/"#指定保存地址
if not os.path.exists(img_path):
        os.mkdir(img_path)

这里count是图片名字,img_path是有没有这样一个文件夹,来让我存储我的壁纸。if么有就新建。

3.

for num in range(2,5,1):
    url=f"http://www.netbian.com/index_{num}.htm"
    html=requests.get(url,headers=headers)
    html.encoding = "gbk"
    print(html.status_code)

这里的gbk我想写一下:
GBK和UTF-8的解码方式——这个就是为了防止乱码

这个是在知乎上找的,very good!

4.

 这个就很重要了

html = html.text
        #print(html)
        soup = BeautifulSoup(html,'html.parser')
        all_list=soup.find(class_="list")
        all_img = all_list.find_all("img")
        for img in all_img:
            src=img['src']
            print(src)

细说吧:

其中这个all_list是找到所有的包含了图片的列表:

找到之后,再找img的照片

然后找到src后面的网址。

5. 下来这个也重要哈

            count+=1
            myimg = requests.get(src)
            file_name = f'{img_path}图片{str(count)}.jpg'
            # 图片和音乐WB的二进制写入方式
            f = open(file_name, "wb")
            f.write(myimg.content)

请求访问src,然后起个名字,然后wb的写入方式,然后写入文件


到这里了,学习之路任重而道远。过几天读卡器回来了,就可以继续搞k210了加油

爬虫还是得一步一步爬

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【STL】string的模拟实现

string类的模拟实现 一、接口函数总览二、默认成员函数1、构造函数2、拷贝构造函数(1)写法一:传统写法(2)写法二:现代写法 3、赋值运算符重载函数(1)写法一:传统写法&…

【开源】JAVA+Vue.js实现天然气工程运维系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程 12.2.2 流程 22.3 各角色功能2.3.1 系统管理员功能2.3.2 用户服务部功能2.3.3 分公司(施工单位)功能2.3.3.1 技术员角色功能2.3.3.2 材料员角色功能 2.3.4 安…

东风联手华为打造首款SUV,车长超5米,配纯电和增程双动力系统

在上个月(2024年1月份),东风汽车和华为达成了战略合作计划,两家品牌将联手打造全新的汽车品牌——奕派汽车,而目前我们从相关渠道获悉,其首款SUV车型已经获得了实拍亮相,而新车的内部代号为S59&…

MySQL篇----第十四篇

系列文章目录 文章目录 系列文章目录前言一、MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?二、锁的优化策略三、索引的底层实现原理和优化四、什么情况下设置了索引但无法使用前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

Java使用opencsv完成对csv批量操作

文章目录 前言一、maven二、造数三、代码部分1.OpenCsvController2.OpenCsvUtil3.StudentInfo4.CodeToValue 三、效果展示1.download2.upload 总结 前言 csv文件是不同于excel文件的另一种文件,常常以,作为分隔符,本篇将通过JavaBean的形式完成对csv文件…

《Git 简易速速上手小册》第2章:理解版本控制(2024 最新版)

文章目录 2.1 本地仓库与版本历史2.1.1 基础知识讲解2.1.2 重点案例:回滚错误提交2.1.3 拓展案例 1:利用 git bisect 查找引入 bug 的提交2.1.4 拓展案例 2:合并提交历史 2.2 远程仓库的使用2.2.1 基础知识讲解2.2.2 重点案例:在 …

CSP-动态规划-最长公共子序列(LCS)

一、动态规划 动态规划(Dynamic Programming,简称DP)主要用于求解可以被分解为相似子问题的复杂问题,特别是在优化问题上表现出色,如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子…

Old Money 和 New Money

(1) 我想借用一下:Old Money 和 New Money这两个词,但不是欧洲那种Old Money 和 New Money的定义。 我定义的Old Money是: 人脉关系、资源 信息差、成本差 我定义的New Money是: 科技是第一生产力 2015年以…

计算机网络——09Web-and-HTTP

Web and HTTP 一些术语 Web页:由一些对象组成对象可以是HTML文件、JPEG图像,JAVA小程序,声音剪辑文件等Web页含有一个基本的HTML文件,该基本HTML文件又包含若干对象的引用(链接)通过URL对每个对象进行引用…

程序员与电脑:不眠之夜的背后故事

在这个数字化飞速发展的时代,程序员和他们的电脑成了不可分割的伙伴。 如果你有机会深夜走过城市的某个角落,透过窗户瞥见那些亮着的电脑屏幕,你可能会好奇:这些电脑为什么总是开着的? 难道程序员们都有失眠症吗&…

猫头虎分享已解决Bug ‍ || 修改mongodb3.0副本集用户密码遇到 BeanDefinitionParsingException

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Solidworks:从草图到工程图纸,掌握正确的工作流程

1. 草图不及太在意构造线和尺寸标注的美观性,只要确保模型尺寸正确即可 因为草图不是最终输出的,这个阶段的工作重点是建立尺寸正确的实体模型,所以不要在意构造线和尺寸标注是否美观。 2. 工程图纸中标注尽量按照操作提示放置位置 工程图…

《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)

文章目录 10.1 理解系统负载10.1.1 重点基础知识10.1.2 重点案例:服务器响应变慢10.1.3 拓展案例 1:多核 CPU 系统的负载解读10.1.4 拓展案例 2:分析具体时间段的系统负载 10.2 优化性能10.2.1 重点基础知识10.2.2 重点案例:优化 …

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序

遇到 vue-cli-service 不是内部或外部命令,也不是可运行的程序或批处理文件。 的错误时,通常意味着Vue CLI没有被正确安装或配置在项目中。这可能是因为node_modules目录缺失了必要的包,或者局部安装的Vue CLI没有被正确设置到系统的PATH环境…

springsecurity6使用

spring security 中的类 : AuthenticationManager : 实现类:ProviderManager 管理很多的 provider ,,, 经常使用的,DaoAuthenticationProvider , 这个要设置一个 UserDetailService , 查找数据库&#xff…

操作系统基础:IO管理概述【上】

🌈个人主页:godspeed_lucip 🔥 系列专栏:OS从基础到进阶 🏆🏆本文完整PDF源文件请翻阅至文章底部下载。🏆🏆 🎮1 I/O设备的基本概念与分类🔫1.1 总览&#x…

538. 把二叉搜索树转换为累加树

给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件&#…

屏幕字体种类介绍

[ Script and font support in Windows ] [Windows 中的脚本和字体支持] 在Windows 2000 以前,Windows 的每个主要版本都会添加对新脚本的文本显示支持。本文介绍了每个主要版本中的更改。 Since before Windows 2000, text-display support for new scr…

云原生之基石-Docker Compose

1. 前言 在上一篇文章中介绍了基本的Docker工具,我们对单个应用程序进行单机单进程部署,制作Dockerfile文件,执行docker build来生成docker镜像, 执行docker run来运行一个容器,自己指定需要的参数如-v,但是…

【教3妹学编程-算法题】输入单词需要的最少按键次数 I

3妹:2哥,新年好鸭~ 2哥 : 新年好,3妹这么早啊 3妹:是啊,新年第一天要起早,这样就可以起早一整年 2哥 :得,我还不了解你,每天晒到日上三竿 3妹:嘿嘿嘿嘿,一年是…