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


相关推荐

  • a 标签去掉下划线[通俗易懂]

    a 标签去掉下划线[通俗易懂]text-decoration:none

    2022年5月2日
    37
  • 数字电路实验环境 (Quartus II 9.0)

    数字电路实验环境 (Quartus II 9.0)大家好,我是孙不坚1208,记录一下数字电路这门课的实验环境((QuartusII9.0))安装。所需文件网盘链接:https://pan.baidu.com/s/1VnCc4wR7HAOgxfyWjoUHjw提取码:0kjq安装教程仅限于学习,安装前先关闭各类杀毒软件,注意安装路径不能有中文,存放安装包的路径最好也不要有中文。我们首先在c盘建好相应的文件目录,然后进行安装在此目录下。一、安装QuartusII9.0等它稍微加载,出现下面这个界面。这里进行安装,无脑点击下一步

    2022年7月12日
    20
  • HTML5 history新特性pushState、replaceState

    HTML5 history新特性pushState、replaceState

    2021年9月13日
    69
  • java hashcode作用yield返回值_对象的hashcode是什么

    java hashcode作用yield返回值_对象的hashcode是什么总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多

    2022年9月8日
    2
  • 深究–CSS中px、rem与em的区别

    深究–CSS中px、rem与em的区别前言:随着PC端的网页盛行,移动端作为重要的一部分,也是火热的发展,但是鉴于一些单位的使用,我们并不知道该怎样去使用,那么今天我们来看看常用的三种单位PX、rem与em。目录:一.PX1.概念:2.特点:二.rem一.PX1.概念:px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。PX:px是pixel的缩写,是像素单位也是为影像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,

    2022年6月18日
    31
  • centos7 top命令_linux安装top

    centos7 top命令_linux安装toptop命令Linuxtop命令用于实时显示process的动态。top参数详解第一行,任务队列信息**系统当前时间:**13:52:56**系统开机后到现在的总运行时间:**up66

    2022年7月28日
    2

发表回复

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

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