图集谷-写真集-爬虫-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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • leetcode链表问题_c++反转链表

    leetcode链表问题_c++反转链表给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。示例 1:输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5]示例 2:输入:head = [5], left = 1, right = 1输出:[5] 提示:链表中节点数目为 n1 <= n <= 500-500

    2022年8月8日
    5
  • 银河麒麟v10.1_银河麒麟v10系统

    银河麒麟v10.1_银河麒麟v10系统银河麒麟v10下载(服务器版桌面版)-2022-03-16更新银河麒麟桌面操作系统V10和银河麒麟高级服务器操作系统V10,分别推出了飞腾、鲲鹏、龙芯、申威、海光、兆芯六个版本银河麒麟高级服务器操作系统V10银河麒麟桌面操作系统V10…

    2022年10月16日
    16
  • Ubuntu 12.04 下安装RabbitVCS

    Ubuntu 12.04 下安装RabbitVCSWindows下常用的SVN管理工具是TortoiseSVN,而它不支持Linux。如果你想在linux下也使用同样的图形化界面来管理SVN,那么RabbitVCS是一个不错的选择。它支持和TortoiseSVN同样的操作。Ubuntu 12.04下安装方法如下:官方的wiki上指出了安装方法:http://wiki.rabbitvcs.org/wiki/install/ubuntu…

    2022年7月18日
    17
  • rna转录的方向是从5→3吗_转换到ois

    rna转录的方向是从5→3吗_转换到oisXNA3.0到4.0的转换http://blog.sina.com.cn/s/articlelist_1747721953_0_1.htmlXNA4.0可以说是一个变化很大的版本了,许多类都被重构或者删除,转换的相关重点描述文章中,比较好的是下面的URL地址:http://www.nelxon.com/blog/xna-3-1-to-xna-4-0-cheatshe

    2022年10月21日
    4
  • NVIC 中断优先级管理详解

    NVIC 中断优先级管理详解1.NVIC(内嵌向量中断控制器)NVIC:NestedVectoredInterruptController,STM32系列有84个中断,相对于的开发板STM32F103系统

    2022年5月28日
    34
  • Java基础算法详解

    Java基础算法详解查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序的代码一定要信手拈来才行。还有插入排序、冒泡排序、堆排序、基数排序、桶排序等。面试官对于这些排序可能会…

    2022年7月8日
    18

发表回复

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

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