Python爬虫——按照关键词爬取视觉中国高清图像
当前对版权保护日益严格,因此在此说明爬取的图像仅做研究和个人使用,禁止用作商用目的。
该爬虫方法可应用到其它允许爬虫的网址
查看网页源代码寻找高清图像链接
以关键词明星为例,搜索后的网址为 https://www.vcg.com/creative/search?phrase=明星
在chrome下ctrl+u或者右键查看源代码,搜索.jpp会找到很多图片的网址,经查验,最高清的图像链接格式为:“url800”:“图像网址”,即在源代码的最后,见下图.
程序示例
Step 1 导入必要Python包
from urllib import request
import os
import re #正则表达式库
Step 2 定义保存路径函数
#输入类别名称,子类别名称,文件名,输出图片路径
def get_path(classname,subclassname,filename):#获取当前工作路径cwd = os.getcwd()#获取图像的保存目录dir_path = cwd+'/vcg_test/' + classname +'/'+ subclassname#目录是否存在,不存在则创建目录if os.path.exists(dir_path):passelse:os.makedirs(dir_path)#获取图像的绝对路径file_path = dir_path +'/'+ filenamereturn file_path
Step 3 按照关键词爬取图片
假设我们希望爬取“明星”和“动漫人物”两种关键词下的图片,我们希望爬取的图片中仅有一个人方便使用,则代码如下:
classnames = ['super_star','cartoon'] #假设我们分类是明星和动漫人物
keypoints = ['%E6%98%8E%E6%98%9F','%E5%8A%A8%E6%BC%AB%E4%BA%BA%E7%89%A9'] #关键字对应
gender_file_path = ['male','female'] #对于人的分类检索可以按性别筛选
all_page = 35 #想要下载的总页数,其中每页与检索相同,为100张
for class_index, phrase in enumerate(classnames):sum_all_num = 0if class_index >= 0 : #从某一类断开则选择该类为起始点 # if class_index == 1 : #例如下载动漫人物时被服务器Kill掉可以改为该行继续下载 for gender_index,gender in enumerate(gender_file_path):if gender_index >= 0 : #从性别某类断开则选择该类为起始点 for page in range(1,all_page+1):num_in_page = 1#获得url链接,这里额外增加了筛选条件:图片中仅有一个人url = 'https://www.vcg.com/creative/search?phrase=' + keypoints[class_index] +'&creativePeopleNum=2&creativeGender=' +str(gender_index+1)+'&page='+str(page)header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36',
# 'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6' } req = request.Request(url=url,headers=header)openhtml = request.urlopen(req).read().decode('utf8') #正则表达式com = re.compile('"url800":.*?/creative/.*?.jpg"')# 匹配URl地址urladds = com.findall(openhtml)for urladd in urladds:#try ... except防止匹配出错后程序停止try:add = 'http:'+urladd.strip('"url800":') #获取文件名称,格式:vcg+性别+获取方式+page+page中的第几张图片,vcg_raw代表原vcg网站对性别分类filename = classnames[class_index]+'_'+gender_file_path[gender_index]+'_vcg_raw_page'+str(page)+'_'+str(num_in_page)+'.jpg'path = get_path(classnames[class_index],gender_file_path[gender_index],filename)print('当前下载...',filename)dom = request.urlopen(add).read()with open(path,'wb') as f:f.write(dom)sum_all_num += 1num_in_page += 1except:print('当前该任务总共总共下载:',sum_all_num) #监控进度if sum_all_num % 50 == 0: #监控进度print('当前该任务总共下载:',sum_all_num)
Step 4 查看爬取图像的质量
单张图片约100kb左右,尺寸约800*533.
由于未获取图片版权,因此就不展示爬取的图片了.
Python爬虫——按照关键词爬取视觉中国高清图像相关推荐
- 【Python爬虫实战】爬取IU高清大图
文章目录 一.准备工作 二.具体分析 三.具体步骤 (1)将HTML文本提取出来 (2)第一步解析获得各个图集网址 (3)第二步解析获得图集中每张图片所在页面网址 (4)第三步解析获得每张图片网址 ( ...
- Python+Fiddler5带你爬取6000+高清王者荣耀cosplay图
Python+Fiddler5带你爬取6000+高清王者荣耀cosplay图 写在前面 最近在玩蛇的时候发现一个抓包神器Fiddler,简直不要太好用,于是当作练手就把这软件给安排了,王者荣耀盒子一个 ...
- python爬虫实践之爬取豆瓣高评分电影
目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 3. 整理总结 概述 爬取豆瓣的高评分的电影. 准备 所需模块 re模块 requests模块 涉及知识点 ...
- python 阴阳师 识别图像_Python爬虫练习:爬取阴阳师高清大图
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 基本环境配置 python 3.6 pycharm requests 相关模块pip安装即可 ...
- Python 网络爬虫:爬取4K高清美图
爬取4K高清美图 这篇爬虫主要是用来爬取网站高清4K图片,这也是笔者学初学爬虫的时候最先写一个的爬虫脚本,现在回过头来重新梳理一下,也算是对从前知识的一个总结,希望对大家有所帮助! 文章目录 爬取4K ...
- python爬虫系列(2):分析Ajax 爬取搜狗高清壁纸
这次我们来分析一下Ajax(至于Ajax是什么意思请自行百度了,这里就不过多解释),爬取一些高清壁纸,等待下载到本地之后,然后我们再慢慢的筛选这些壁纸.那么这次的目标就是搜狗壁纸,啥1280*720的 ...
- Python爬虫从入门到精通:(9)数据解析_xpath解析2_爬取4K高清动漫图片_Python涛哥
使用xpath爬取4K高清动漫图片名称和图片数据 爬取当前页: # 创建文件夹 存储图片 dirName = 'GirlsLib' if not os.path.exists(dirName):os. ...
- 通过Python爬虫按关键词抓取相关的新闻
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途 如今各大网站的反爬机制已经可以说是到了丧心病狂的程度,比如大众点评的字符加密.微博的登录验证等.相比较而言,新闻网站的反爬机制 ...
- 【Python爬虫】从零开始爬取Sci-Hub上的论文(串行爬取)
[Python爬虫]从零开始爬取Sci-Hub上的论文(串行爬取) 维护日志 项目简介 步骤与实践 STEP1 获取目标内容的列表 STEP2 利用开发者工具进行网页调研 2.1 提取文章链接和分页链 ...
最新文章
- 【转】C#中的线程 入门
- 根据录入的计算公式计算_污水处理工程设计入门(10)—堰口计算
- Asp.Net开通支付宝移动端网页支付
- 华为荣耀6 H60-L02/L12(联通版)救砖包【适用于无限重启】
- 如何在Windows11和Windows10上获取驱动程序更新
- 你不知道的事:AWR 基线和 AWR Compare Period Report 功能介绍
- Spark源码分析之Sort-Based Shuffle读写流程
- (1)zynq FPGA简介
- 虚拟化不会增加安全复杂性
- HTML期末作业我的家乡静态网页设计
- 微信点餐外卖源码小程序开发
- linux学习书籍汇总 值得推荐的linux学习书籍
- java房屋租赁系统-房东租客系统PHP小程序
- mysql drop column_MySQL DROP COLUMN
- 史上最全金融产品架构分析一:银行理财产品
- Material Design实战
- Windows API大全
- 堡垒机JumpServer(六):内网管理云端服务器
- 微信公众号注册已达上限怎么办?提升限额方法来了
- AndroidTagView 云标签