图集谷-写真集-爬虫-2.0

图集谷-写真集-爬虫-2.0图集谷写真集python爬虫

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

        经过,对上一版爬虫的仔细研究,我换了一个编写思路,写了这个2.0版本。

        依然废话不多说,直接上代码。

# 导入库
import os, time, requests

# 请求头
headers = {
  'User-Agent': 'Chrome 10.0'
}

# 图片数据列表
pictures = []

# 获取图片数据
def get_pic(url, nums):
    for num in range(0, int(nums)):
        url_all = str(url) + f'{str(num)}.jpg'
        res = requests.get(url=url_all, headers=headers)
        pic_content = res.content
        pictures.append(pic_content)
        time.sleep(0.5)

# 创建目的文件夹
def get_path(path_name):
    if not os.path.exists(f'C:/Users/liu/Desktop/图集/{path_name}'):
        os.mkdir(f'C:/Users/liu/Desktop/图集/{path_name}')
    else:
        pass

# 保存图片数据
def save_data():
    for pic,i in zip(pictures, range(int(Num))):
        picture = open(f'C:/Users/liu/Desktop/图集/{str(Page_Num)}/{str(i)}.jpg', 'wb')
        picture.write(pic)
        picture.close()

# 主程序入口
if __name__ == '__main__':
    Page_Num = input('Enter the Page_name:')    # Page_Num指下文url所代指的数字
    Num = int(input('Enter the Num:')) + 1    # Num为写真集的图片数
    url = f'https://tjg.gzhuibei.com/a/1/{str(Page_Num)}/'    # 
    get_path(path_name=Page_Num)
    get_pic(url=url, nums=Num)
    save_data()
    print('Finish!')

        在编写的第一版爬虫的过程中,我发现可以通过算从而确定每张图片的url。因此,在第二版中,我省去了对lxml库的运用。

        通过运算得到所有图片的url,相对于第一版更简便,也不用更多地访问,节省了下载时间。

        在这个图集谷爬虫-2.0完成后,如果能够的话,我会继续对图集谷爬虫的不断优化。

        感谢大家的支持!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157799.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 函数模板参数(函数参数在哪)

    C++模板实参的省略下面列举的几种情况不能省略模板实参:1)从模板函数实参表获得的信息有矛盾之处。template<typenameT>voidfun(Tconst&a,Tconst&b);但是你调用时却是fun(250,250.4);那你就必须写成fun<int>(250,250.4);2)需要获得特定类型的返回值,而不管参数…

    2022年4月15日
    60
  • C51简介及Keil的使用[通俗易懂]

    C51简介及Keil的使用[通俗易懂]前言此文档主要是针对有一定C/C++编程基础,并打算用Keil从事C51开发的开发人员。C51涉及的知识比较多,但是入门基本的开发,还是容易的。C51简介1.C51概念C51继承于C语言,主要运行于51内核的单片机平台。单片机,单片微型计算机器(SingleChipMicrocomputer)的简称,又称微控制单元(MicroControllerUnit,MCU)。MCU…

    2022年5月23日
    41
  • excel筛选后如何复制粘贴到筛选出来的单元格_表格中筛选出的数据怎么复制粘贴

    excel筛选后如何复制粘贴到筛选出来的单元格_表格中筛选出的数据怎么复制粘贴https://jingyan.baidu.com/article/90bc8fc8116fc9f653640cf1.html

    2022年8月5日
    5
  • Apache knox_apache发生服务特定错误1

    Apache knox_apache发生服务特定错误1knox错误总结windowsbrowser有时候打不开KnoxUIhosts文件添加Knox的{{GATE_WAY}}ip的映射就可以打开界面了打开Knoxadmin_UI后显示不完全需要下载特定的js,私信我即可解决Knox配置yarnservice报错2020-03-1717:07:13,311ERRORknox.gateway(Gateway…

    2025年8月5日
    5
  • 进程控制块、进程上下文

    进程控制块、进程上下文一 进程控制块 nbsp nbsp nbsp nbsp nbsp 为了描述和控制进程的运行 系统为每个进程定义了一个数据结构 进程控制块 PCB nbsp 它是进程重要的组成部分 它记录了操作系统所需的 用于描述进程的当前状态和控制进程的全部信息 nbsp 操作系统就是根据进程的 PCB 来感知进程的存在 并依此对进程进行管理和控制 PCB 是进程存在的唯一标识 nbsp nbsp nbsp nbsp nbsp nbsp PCB 主要包括如下 4 方面的信息 nbsp

    2025年12月2日
    3
  • 【强化学习】DDPG(Deep Deterministic Policy Gradient)算法详解[通俗易懂]

    【强化学习】DDPG(Deep Deterministic Policy Gradient)算法详解[通俗易懂]http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html引自ReinforcementLearning:AnIntroduction强化学习名著2018新编版DPG论文http://www0.cs.ucl.ac.uk/staff/d.silver/web/Applications_files/determinis…

    2022年6月15日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号