本文纯粹为了技术学习,内容如有侵权,请告知!
目标URL:https://bing.ioliu.cn
爬取的图片


Python用到的主要模块

import requests
from lxml import etree
from concurrent.futures import ThreadPoolExecutor

代码实现

# coding: utf-8
import datetime
import time
import random
import requests
from lxml import etree
from concurrent.futures import ThreadPoolExecutoruser_agent = ["Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1","Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3","Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
]
# 随机选择UA
header = {"User-Agent": random.choice(user_agent)}# 设置图片保存路径
path = r"C:\Spider\bing\ "# 开始计时,统计任务的总耗时
start = datetime.datetime.now()# 爬取方法,传入多个页面的url
def get_images(url):# 发送请求获取响应response = requests.get(url, headers=header)# 使用lxml模块提供的xpath提取图片链接地址html = etree.HTML(response.text)# 获取图片链接地址img_link = html.xpath('//a[@class="ctrl download"]/@href')# 获取到的图片链接需要拼接上get页面url->"https://bing.ioliu.cn"img_link = ['https://bing.ioliu.cn' + x for x in img_link]# 使用for循环从图片链接列表中提取图片内容并保存到本地for img in img_link:# img_content图片内容# img_name图片名,这里直接图片链接地址中抽取一部分作为图片名,再加上后缀'.jpg'img_content = requests.get(img, headers=header).contentimg_name = img.split('?')[0][-6:-1] + '.jpg'# 打印一下图片名,便于查看爬取情况print(img_name)# 保存图片,同时设置一下间隔时间(也可以不用设置)with open(path + img_name, 'wb') as f:f.write(img_content)time.sleep(random.randint(1, 2))if __name__ == '__main__':"""# 根据每一页的url可以看出https://bing.ioliu.cn/?p=的等号后面加上数字就是对应的页数# https://bing.ioliu.cn/?p=1,https://bing.ioliu.cn/?p=2,https://bing.ioliu.cn/?p=3# 使用列表推导式,从第1页爬取到50页(需要爬取的总页数可以调整)"""url_list = [f'https://bing.ioliu.cn/?p={x}' for x in range(1, 51)]# 使用线程池提高爬取速度with ThreadPoolExecutor(max_workers=8) as executor:executor.map(get_images, url_list)# 计时结束,打印任务完成后耗费的总时间
delta = (datetime.datetime.now() - start).total_seconds()
print(f'用时{delta}秒')

提示
代码只是实现简单的图片下载功能,目标url具有反爬机制,代码中并没有反反爬功能,如若copy运行,请自行斟酌。

Python爬虫实战 使用线程池批量爬取必应1080P高清壁纸相关推荐

  1. python爬虫爬取必应每日高清壁纸

    python爬虫爬取必应每日高清壁纸 一.简介 二.使用的环境 三.网页分析 1.分析网页每一页url形式以及总页数 2.网页重要信息收集 3.在源码中寻找所需信息的位置 四.代码实现 五.运行爬虫 ...

  2. python爬取王者_python 爬取王者荣耀高清壁纸

    一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 预览一下桌面吧: 是不是看着这样的桌面也很带感,_ (学会这个技术,你可以爬取其他网站的类似图片 ...

  3. python 爬取王者荣耀高清壁纸

    代码地址如下: http://www.demodashi.com/demo/13104.html 一.前言 打过王者的童鞋一般都会喜欢里边设计出来的英雄吧,特别想把王者荣耀的英雄的高清图片当成电脑桌面 ...

  4. 简单爬取wallpaper heaven高清壁纸(福利满满~)

    简单爬取wallpaper heaven高清壁纸 2021年1月30日更新 由于网站架构更改,以下内容已经并不能再实现爬取 思路大体不变,仅供参考思路 前言:wallpaper heaven是一个拥有 ...

  5. Python爬虫实战| Python爬取英雄联盟高清壁纸

    先看一下最终爬取的效果,每个英雄的壁纸都被爬取下来了: "黑暗之女 安妮"的12张壁纸: 高清大图: 下面开始正式教学! 版本:Python 3.5 工具:Jupyter note ...

  6. Python爬虫入门案例教学:批量爬取彼岸桌面4K超清美女壁纸

    先图片开路 环境介绍 python 3.6 / 3.8 pycharm 编辑器 requests parsel os 文件操作 在cmd里面就可以进行安装 pip install requests 无 ...

  7. Python多线程爬虫之二:爬取王者荣耀高清壁纸(多线程)

    一.项目分析 1.查询爬取网址 robots 权限 1.王者荣耀官网:https://pvp.qq.com/ 2.访问王者荣耀官网 rbots 权限: https://pvp.qq.com/robot ...

  8. python多线程爬取王者荣耀高清壁纸过程

    多线程与爬虫 目标url json中查找url 访问url 读取json 查看json的list数组 全部图片 粗暴的单线程获取 多线程执行 目标url 查看http://pvp.qq.com/web ...

  9. 如何爬取王者荣耀高清壁纸(详细分析教程)

    1.准备工作 Python 3.7 Python安装有requests模块 王者荣耀官网地址:https://pvp.qq.com/web201605/wallpaper.shtml### 2.网站分 ...

最新文章

  1. 公司网络推广为你解答蜘蛛为什么有抓取网页却没收录?
  2. Couchbase应用示例(初探)
  3. 微信公众平台开发入门教程[2019版]
  4. How to include html native content to UI5 page - 直接在xml view里添加html namespace
  5. 条件控制(if ) ( case)
  6. P4258-[WC2016]挑战NPC【带花树】
  7. python自动补全库_这个库厉害了,自动补全Python代码,节省50%敲码时间
  8. 研究笔记:iOS中使用WebViewProxy拦截URL请求
  9. DCX读书报告Bring structure to the web有感
  10. javascript学习系列(20):数组中的bind,apply,call
  11. JavaWeb无限级分销结构分析
  12. (王道408考研操作系统)第二章进程管理-第二节2:调度算法评价指标
  13. ufvm可以读哪些网格_墙面开裂原因有哪些?钢筋网和网格布怎么用?
  14. SIP中第三方呼叫控制(3PCC)建立流程
  15. 【转】JVM内存管理:深入垃圾收集器与内存分配策略
  16. WIN和LIN环境下对拍程序
  17. nodejs 端口被占解决
  18. linux halt 命令详解
  19. Excel如何实现聚光灯效果
  20. 机器学习【系列】之第六章随机森林模型

热门文章

  1. moxa串口服务器型号,moxa串口服务器产品配置说明
  2. 数学概率游戏之:三国杀,吕布vs赵云谁会胜?
  3. 【PHP学习】—apache配置虚拟主机(基于域名)
  4. MySQL 5.7 have_ssl 的SSL加密方法
  5. 紫光同创国产FPGA学习之Physical Constraint Editor
  6. ROS routerOS 软路由
  7. 聊聊呗|扫雷书单?市文化执法大队开展“护苗2020”之“扫雷”行动
  8. 用超级简单的C语言实现人机五子棋(键盘控制)
  9. 笔形式的之字形高低点指标(MT5)
  10. 京瓷1020怎么打印自检页_京瓷1020操作说明书.doc