刚学了多线程,于是把上次写的博客拿出来进行改写,
原文链接:python爬取4k高清壁纸(再也不怕没有壁纸了)
爬取过程已经在上一次写过了,可以点击原文链接查看。
废话不多说,直接上多线程代码:

import requests
from lxml import etree
from queue import Queue
import threading
import os
import time
a = time.time()headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36',
}def download():while True:# 判断队t1线程是否存活if not t1.is_alive():print('已全部解析完毕!')# 判断队列是否为空if q.empty():print('全部下载完成!')breakimg, count, page = q.get()r = requests.get(img, headers=headers)pic = r.content# 创建目录用于下载path = 'F:\\图片文件\\高清壁纸-4\\第{}页\\'.format(page)try:if not os.path.exists(path):os.makedirs(path)except Exception as e:print(e)try:with open(path + '{}.jpg'.format(count), 'wb') as f:f.write(pic)print('{}.jpg-----下载成功'.format(count))except:print('下载失败!')def get_img(img_url, page):r = requests.get(img_url, headers=headers)html = r.content.decode('gbk')tree = etree.HTML(html)# 图片链接img_list = tree.xpath('//div[@id="main"]/div[@class="slist"]/ul/li/a/img/@src')# print(img_list, len(img_list))count = 1for img in img_list:img = 'http://pic.netbian.com' + img# 下载图片# download(img, count)q.put([img, count, page])count = count + 1def main():# 启始urlurl = 'http://pic.netbian.com/4kdongman/'req = requests.get(url, headers=headers)html = req.content.decode('gbk')# print(html)tree = etree.HTML(html)# 提取壁纸总页数num = tree.xpath('//div[@class="page"]/a[last() - 1]/text()')[0]for i in range(int(num)):img_url = url + 'index_{}.html'.format(i + 1)if i == 0:img_url = url# print(img_url)# 获取图片链接get_img(img_url, i + 1)if __name__ == '__main__':# 创建队列q = Queue()lock = threading.Lock()# 创建线程t1 = threading.Thread(target=main)t2 = threading.Thread(target=download)t3 = threading.Thread(target=download)t4 = threading.Thread(target=download)t5 = threading.Thread(target=download)# 开启线程t1.start()t2.start()t3.start()t4.start()t5.start()t1.join()t2.join()t3.join()t4.join()t5.join()b = time.time()print(b-a)

给你们看一下爬取结果:

多线程用的不是很好,大佬勿喷!
等我下次有时间再改进一下。

python爬取4k高清壁纸(多线程版)相关推荐

  1. python爬取4k高清壁纸(再也不怕没有壁纸了)

    今天突然想换壁纸,在网上找了一圈没有找到满意的,正好学了爬虫,于是我就想把它们全都爬取下来,慢慢挑选. 这次爬取的目标是:彼岸图网动漫壁纸 接下来,我将详细讲解爬取过程: 首先点开网站,右键–检查 观 ...

  2. JSOUP爬取4K高清壁纸

    jsoup jar包 1.11.2 链接: https://pan.baidu.com/s/1pe3-r5_YB-pGEsosfRLbsA?pwd=41w5 提取码: 41w5 效果: 代码: imp ...

  3. python爬取4K超清画质手机壁纸,壁纸这东西当然是越多越好啦~

    前言 手机壁纸这东西大家都很熟悉吧,相信不论谁打开手机都希望自己的壁纸是自己喜欢的图片, 但是一张壁纸用久了就会想换一张新鲜感满满的图(当然排除情有独钟的), 但挑选图片的时间总是恒久的,有时长时间的 ...

  4. Python爬取LOL高清皮肤壁纸

    Python爬取LOL高清皮肤壁纸 兴趣点: 这两天复习爬虫,CSDN上看到了一个爬取LOL皮肤的博客,哎这个有意思,看了一下他写的代码,感觉难度还可以,就结合着自己的理解写了一下 参考博客: 传送门 ...

  5. python手机壁纸超清_详解Python静态网页爬取获取高清壁纸

    前言 在设计爬虫项目的时候,首先要在脑内明确人工浏览页面获得图片时的步骤 一般地,我们去网上批量打开壁纸的时候一般操作如下: 1.打开壁纸网页 2.单击壁纸图(打开指定壁纸的页面) 3.选择分辨率(我 ...

  6. Python 网络爬虫:爬取4K高清美图

    爬取4K高清美图 这篇爬虫主要是用来爬取网站高清4K图片,这也是笔者学初学爬虫的时候最先写一个的爬虫脚本,现在回过头来重新梳理一下,也算是对从前知识的一个总结,希望对大家有所帮助! 文章目录 爬取4K ...

  7. python爬虫系列(2):分析Ajax 爬取搜狗高清壁纸

    这次我们来分析一下Ajax(至于Ajax是什么意思请自行百度了,这里就不过多解释),爬取一些高清壁纸,等待下载到本地之后,然后我们再慢慢的筛选这些壁纸.那么这次的目标就是搜狗壁纸,啥1280*720的 ...

  8. Python爬虫从入门到精通:(9)数据解析_xpath解析2_爬取4K高清动漫图片_Python涛哥

    使用xpath爬取4K高清动漫图片名称和图片数据 爬取当前页: # 创建文件夹 存储图片 dirName = 'GirlsLib' if not os.path.exists(dirName):os. ...

  9. 全网最细------爬取4k高清大图

    本次案例将教大家免费爬取4k高清大图,即使你是爬虫新手,也可以食用本次文章实现你的免费下载梦,话不多说,先看效果 网站视图: 看到这些图片你是否怦然心动,跟着我一起看下去. 一.思路分析 首先最基本的 ...

最新文章

  1. selendroid之inspector
  2. 在VHD文件上安装Windows 7或Windows 2008 R2
  3. android 返回键退出程序了吗?
  4. PaddlePaddle(6)—— 基于Hub Serving的微信小程序模型部署
  5. 推荐几个不错的技术公众号
  6. java桥牌发牌算法
  7. Python全局解释锁
  8. 【摘抄】SLAM中的位姿
  9. 最怕虚拟机连不上网-记一次网卡消失
  10. Android ViewModel与LiveData组件组合使用详解
  11. DTCMS 栏目调用方法
  12. Anbox源码分析(三)——Anbox渲染原理(源码分析)
  13. python伪原创工具开发_现在有哪些好用的伪原创工具?
  14. VPN入门教程:基本概念、使用方法及思科模拟器实践
  15. 目标导向的交互设计:About face 3 -- The essentials of interaction design 读书分享
  16. java信徒齐(七)步走
  17. pipeline设计模式
  18. 手机端导航栏html自适应,js+css3电脑手机端自适应响应式导航菜单代码
  19. 提升brew下载速度
  20. cp1025 linux驱动下载,HP LaserJet 专业 CP1025 彩色打印机驱动下载

热门文章

  1. c语言程序设计植树,c语言程序设计报告
  2. 深度学习与自然语言处理教程(5) - 语言模型、RNN、GRU与LSTM(NLP通关指南·完结)
  3. 基于随机游走Random Walk的图节点Node表示
  4. Windows7旗舰版性能优化
  5. vue element表格图片点击放大
  6. Hutool操作和监听文件
  7. AdvancedMaterials IF=32 | 华科朱艳红/张燕/杨祥良构建工程菌实现近红外纳米光基因激活的癌症免疫治疗...
  8. 基于大数据的房价分析--3.echart+百度地图实现数据可视化
  9. 我的博客园博客开通了
  10. 【Unity】OnTriggerStay2D无法触发问题,物体跟随鼠标等背包系统以及UI场景交互系统技术总结