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

news/2024/7/19 9:15:38 标签: 爬虫, python, 学习, 笔记

先看效果图:

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


上代码了。

python">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.

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

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

3.

python">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.

 这个就很重要了

python">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. 下来这个也重要哈

python">            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了加油

爬虫还是得一步一步爬


http://www.niftyadmin.cn/n/5375634.html

相关文章

autojs通过正则表达式获取带有数字的text内容

视频连接 视频连接 参考 参考 var ctextMatches(/\d/).findOne()console.log("当前金币"c.text()) // 获取当前金币UiSelector.textMatches(reg) reg {string} | {Regex} 要满足的正则表达式。 为当前选择器附加控件"text需要满足正则表达式reg"的条件。 …

【leetcode热题100】不同的二叉搜索树

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出:1 …

【医学大模型 知识增强】SMedBERT:结构化语义知识 + 医学大模型 = 显著提升大模型医学文本挖掘性能

SMedBERT:结构化语义知识 医学大模型 显著提升医学文本挖掘任务性能 名词解释结构化语义知识预训练语言模型医学文本挖掘任务 提出背景具体步骤提及-邻居混合注意力机制实体嵌入增强实体描述增强三元组句子增强 提及-邻居上下文建模域内词汇权重学习领域自监督任务…

MATLAB|【免费】高比例可再生能源电力系统的调峰成本量化与分摊模型

目录 主要内容 部分代码 结果一览 下载链接 主要内容 程序复现文献《高比例可再生能源电力系统的调峰成本量化与分摊模型》,从净负荷波动的角度出发,建立了调峰成本的量化与分摊模型,构造了无调峰需求的替代场景,将…

AMD FPGA设计优化宝典笔记(4)复位桥

高亚军老师的这本书《AMD FPGA设计优化宝典》,他主要讲了两个东西: 第一个东西是代码的良好风格; 第二个是设计收敛等的本质。 这个书的结构是一个总论,加上另外的9个优化,包含的有:时钟网络、组合逻辑、触…

离散数学截图

二元运算及其性质 二元运算中的特殊元 半群和独异点 代数系统的同态与同构 下确界是最大的下界,而在4、5、6三个下界里面,4和5都比6大。可4和5之间没办法分出大小,所以这个哈斯图没有下确界

Linux 基础概念

Linux 基础概念 ‍ 在最初学习Linux之前,首先需要搞清楚一些概念。熟悉这些概念之后紧接着熟悉各种命令,这有助于Linux命令的学习。这些概念绝对是你必须知道的,而且有些概念并不显而易见。但是当理解它们以后,你的shell命令也将…

docker 实现 mysql:8.3.0 主从复制(2024年2月13日最新版本)

环境为 CentOS 7.6, 具体操作请看MySQL主从复制01-主从复制概述及原理_哔哩哔哩_bilibili 1、配置主服务器 # 启动主服务器 docker run -p 3306:3306 --name mysql_master -e MYSQL_ROOT_PASSWORDnmnmnm67890890 -v /docker/mysql_master/conf:/etc/mysql/conf.d…