各位未来国家栋梁们好啊~相信栋梁们经常需要在网络上寻找各种资源,作为二次元的必备精神食粮,图片资源那是必不可少!在这里用python写了一个超简单的图片爬取小项目~话不多说,附上源码!(有用的话点个赞或者以后会用点个收藏不迷路哦~)


1.准备工作。

这里只需要准备好pycharm即可,但要保持网络通畅通,使用pycharm新建项目后一定要在.py源文件同级目录下创建一个空的名为image的文件夹,爬取的图片将会保存在image文件夹下。


2.创建python文件后直接将代码复制进去即可。(快端上来罢~)

import requests
import json"""
version1
"""
# https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1670164898311_R&pv=&ic=&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=MCwzLDYsNCw1LDEsOCw3LDIsOQ%3D%3D&ie=utf-8&sid=&word=%E5%8A%A8%E6%BC%AB# header用于伪装自己的程序以获得服务器的数据请求许可
headers = {"Host": "image.baidu.com","Cookie": "BDqhfp=%E5%8A%A8%E6%BC%AB%26%26-10-1undefined%26%268364%26%269; BIDUPSID=633DBE996B8FF3C8C468EEC5725F44F1; PSTM=1667711202; BAIDUID=633DBE996B8FF3C8033B690572DCDCE2:FG=1; BAIDUID_BFESS=633DBE996B8FF3C8033B690572DCDCE2:FG=1; ZFY=:AZLVAVUXbk0EZCCK98sVRIwyMPfIvN3lto4EyxILmRc:C; H_PS_PSSID=37855_36554_37840_37766_37760_26350_22158_37882; delPer=0; PSINO=6; BA_HECTOR=04240g058500a4al2l018oua1hopajr1g; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; firstShowTip=1; indexPageSugList=%5B%22%E5%8A%A8%E6%BC%AB%22%5D; cleanHistoryStatus=0; userFrom=null; ab_sr=1.0.1_ZmNiNzk0NWRiMjhjOGRiZDY1NjMwODkxYjdlMDAwMGJmMDhjYjMwNGM5MGQwOGFjMjJmN2Y1NTNmNzkxZjEzOWM3Yjg0NWQ3ZGVjNzMwOWMzMTQ2MzI1ZTcwY2JkYWIxOWNiZDMzNTk1ZjVkMWEzNWRiNjI2MGMyNTVkMjlkODVhOWY3Njk0MzFlOGI5N2UzNDQyNzNkZGUzMWQ1YzM2OQ==","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
}# 对图片的命名,默认从1开始(可自行修改)
num = 1
# 需要爬取的页数,数越大,爬取的图片越多
page = 11def spider_picture(num, page):for i in range(1, page):  # 循环执行每一张图片的获取,其中末尾的{i*30}是通过分析每一张图片的URL发现的规律url = f"https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8419943923068396246&ipn=rj&ct=201326592&is=&fp=result&fr=&word=%E5%8A%A8%E6%BC%AB&queryWord=%E5%8A%A8%E6%BC%AB&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=&copyright=&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&expermode=&nojc=&isAsync=&pn={i * 30}&rn=30&gsm=14a&1670165078825="response = requests.get(url, headers=headers)# print(response.text)# 将获取到的信息装换为json数据,以便python能够处理json_data = response.json()# 观察发现key值为data的字典值里面有我们需要的图片连接data_list = json_data["data"]for data in data_list[:-1]:print(data)# 在data中取出每一张图片的URLpicture_url = data["hoverURL"]# 通过get函数获取每一张图片的信息,content表示将获取到的信息装换为二进制数据image_data = requests.get(picture_url).content# 把图片存入文件夹with open(f"image/pic_{num}.jpg", "wb") as fp:fp.write(image_data)num += 1if __name__ == "__main__":spider_picture(1, 5)

3.这里需要用到requests库,如果没有安装这个库,需要安装该库

  • 方法一:鼠标放在代码中import requests上,点击安装库。
  • 方法二:打开控制台cmd窗口,输入以下代码回车。
pip install requests

4.需要注意的事项。

  • 这里的参数num:表示的是为图片的命名,只能为数字,默认设置的从1开始,因此,图片名依次为pic_1,pic_2,pic_3...等。(可以自行修改。)
  • 这里的参数page:表示的是需要爬取的网页图片页数,设置的越大,爬取的图片越多。(可以自行修改。)
  • 重要如果你已经使用过一次,并爬取了图片,需要将image文件夹里面的图片移出去,或者删除后再进行第二次使用。(因为图片名默认从pic_1开始的,如果第二次运行时image文件夹里面有同名图片,则该同名图片将会被覆盖,只有非同名图片才会被保存。获取的是content转化后的二进制数据保存在.jpg格式的文件下。)

5.补充。

下面有另一个版本,如果有需要,可以实现该接口里面的音乐爬取方法和视频爬取方法练练手吧。(萌新害怕.jpg)给栋梁端上version2版本。

import requests
import json
"""
version2
"""
# https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1670164898311_R&pv=&ic=&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=MCwzLDYsNCw1LDEsOCw3LDIsOQ%3D%3D&ie=utf-8&sid=&word=%E5%8A%A8%E6%BC%ABheaders = {"Host": "image.baidu.com","Cookie": "BDqhfp=%E5%8A%A8%E6%BC%AB%26%26-10-1undefined%26%268364%26%269; BIDUPSID=633DBE996B8FF3C8C468EEC5725F44F1; PSTM=1667711202; BAIDUID=633DBE996B8FF3C8033B690572DCDCE2:FG=1; BAIDUID_BFESS=633DBE996B8FF3C8033B690572DCDCE2:FG=1; ZFY=:AZLVAVUXbk0EZCCK98sVRIwyMPfIvN3lto4EyxILmRc:C; H_PS_PSSID=37855_36554_37840_37766_37760_26350_22158_37882; delPer=0; PSINO=6; BA_HECTOR=04240g058500a4al2l018oua1hopajr1g; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; firstShowTip=1; indexPageSugList=%5B%22%E5%8A%A8%E6%BC%AB%22%5D; cleanHistoryStatus=0; userFrom=null; ab_sr=1.0.1_ZmNiNzk0NWRiMjhjOGRiZDY1NjMwODkxYjdlMDAwMGJmMDhjYjMwNGM5MGQwOGFjMjJmN2Y1NTNmNzkxZjEzOWM3Yjg0NWQ3ZGVjNzMwOWMzMTQ2MzI1ZTcwY2JkYWIxOWNiZDMzNTk1ZjVkMWEzNWRiNjI2MGMyNTVkMjlkODVhOWY3Njk0MzFlOGI5N2UzNDQyNzNkZGUzMWQ1YzM2OQ==","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
}num = 1
page = 11class spider_sp:__flag = True__instance = Nonedef spider_pictue(self, num, page):passdef spider_music(self):passdef spider_vedio(self):passclass spider(object):__flag = True__instance = Nonedef __new__(cls, *args, **kwargs):if cls.__instance:cls.__instance = super().__new__(cls)return cls.__instancedef __init__(self, file_number, page_number):if self.__flag:self.num = file_numberself.page = page_number__flag = Falsedef spider_picture(self, num, page):for i in range(1, page):url = f"https://image.baidu.com/search/acjson?tn=resultjson_com&logid=8419943923068396246&ipn=rj&ct=201326592&is=&fp=result&fr=&word=%E5%8A%A8%E6%BC%AB&queryWord=%E5%8A%A8%E6%BC%AB&cl=2&lm=-1&ie=utf-8&oe=utf-8&adpicid=&st=-1&z=&ic=&hd=&latest=&copyright=&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&expermode=&nojc=&isAsync=&pn={i * 30}&rn=30&gsm=14a&1670165078825="response = requests.get(url, headers=headers)# print(response.text)json_data = response.json()data_list = json_data["data"]for data in data_list[:-1]:print(data)picture_url = data["hoverURL"]image_data = requests.get(picture_url).contentwith open(f"image/pic_{num}.jpg", "wb") as fp:fp.write(image_data)num += 1if __name__ == "__main__":worker_1 = spider(1, 5)try:worker_1.spider_picture()except Exception:print(f"爬取图片出现错误!请检查header或者URL连接!")

写完啦~下班~

注:本文爬取的图片属于百度的公开图库,代码中的多行注释中有原网页。本人学习中,发文练练手,想和大佬们一起进步。

嘿嘿~代码香香的,软软的~嘿嘿~

这个赞我是不会要的,啊,不要点啊~说了明明不要的,非要给我那也没办法了

超简单的图片爬取项目,复制粘贴就能用,批量爬取动漫图片。(保姆教程,可根据需要修改URL)相关推荐

  1. 在maven项目中打开jsp_零基础在intellij中打开一个项目复制粘贴内容即可运行的java拼图...

    我刚学java语言,在学习java简单的拼图游戏时发现网上有些居然要导入调试,而且网上有些说的调试方法不明不白,所以我就分享了我的可直接复制在新项目中的源码,如果要直接要搞好的话就可以用结尾的分享提取 ...

  2. python批量下载网页图片,不用再复制粘贴了(7)

    此为教程笔记 教程地址:https://study.163.com/course/courseMain.htm?courseId=1209401897 感谢老师:城市数据团大鹏 代码非常少,想要全部代 ...

  3. webscraper多页爬取_Web Scraper 翻页——控制链接批量抓取数据(Web Scraper 高级用法)| 简易数据分析 05...

    这是简易数据分析系列的第 5 篇文章. 上篇文章我们爬取了豆瓣电影 TOP250 前 25 个电影的数据,今天我们就要在原来的 Web Scraper 配置上做一些小改动,让爬虫把 250 条电影数据 ...

  4. html网页文档无法复制粘贴图片,网页文本无法复制粘贴?高手教的这5招太绝了,全网任意免费复制!...

    说到网页的复制粘贴,相信很多人都有过这种经历: 办公时经常需要在网上查找资料,然而好不容易找到了找到了不错的资料,想复制粘贴时却因为网页本身的限制,导致无法复制! 那么,在网上遇到一些无法复制的文本时 ...

  5. 超简单,为自己的项目增加微信消息提醒功能

    是不是遇到有些时候想及时获取项目推送的信息,例如订单统计信息,设备预警信息,每日数据汇总信息,甚至于一些工作流提醒? 有几种方式可以实现: 1.通过短信方式: 2.通过App推送或者主动查看app提醒 ...

  6. Origin一键复制粘贴,也能批量更改图片格式

      Origin作图无疑是比较全能的,做出来的图形好看,而且图片质量高.但有一个问题,就是图片格式的调整,尤其是相同图片格式的调整,经验不足的同学可能会一张一张的进行调节,比较麻烦.   之前给大家讲 ...

  7. ckeditor富文本编辑器的使用和图片上传,复制粘贴图片上传

    项目开发需要用到在线编辑和图片上传,最终讨论使用ckeditor,原因就是其丰富的API.考虑到最新版本ckeditor5可能不够稳定,我们选择使用ckedtior4.9.2版本.官网链接:ckedi ...

  8. 简单前端web页面文字防复制 粘贴 剪切 鼠标右键 F12 shift+ctrl+i等,多浏览器支持

    简单的实现javaScript层面的文字防复制,只能说防君子不妨小人,有兴趣的人可以试试 <!DOCTYPE html> <html > <head> <me ...

  9. vue 图片复制黏贴上传_# quill-image-extend-module :完成vue-quill-editor图片上传,复制粘贴,拖拽...

    vue-quill-editor的加强模块, 功用: 供应图片上传到服务器的功用 复制插进去 拖拽插进去 显现上传进度 显现上传胜利或许失利 支撑与其他模块一同运用(比方调解图片大小) Install ...

最新文章

  1. J2EE JVM加载class文件的原理机制
  2. C语言复习篇之数组与指针
  3. 编程爱好者学vb还是python-Python语言为什么被称为高级程序设计语言?
  4. 特邀丨前阿里巴巴产品运营专家、中国计算机学会专业会员,揭秘增长共同点
  5. SqlBulkCopy类进行大数据(一万条以上)插入测试
  6. 我妈给我介绍对象了,我大学还没毕业呢,先在婚介市场也这么卷了的吗?【Python爬虫实战:甜蜜蜜婚介数据采集】
  7. JAVA:json解析
  8. 下列选项不属于有机物的是_初级会计实务:属于工业企业营业收入的有哪些?...
  9. logistic回归详解
  10. 无人驾驶车辆轨迹跟踪控制文献分享(1)
  11. C语言——函数定义及用法【内部函数外部函数内联函数】
  12. WORD出错:设置为稿纸后,右键的字体、段落项目变灰
  13. 【硬核技术文】研发绩效,AI算法的完美舞台
  14. 《Python编程快速上手——让繁琐的工作自动化》读书笔记2
  15. 商汤的AI伴游小精灵(2019 计蒜之道 初赛 第一场)
  16. mysql 时间段天数_ORACLE任意时间段内所有天数日期查询
  17. 【企业】零和博弈思维模式构建,互利共赢
  18. 循环神经网络RNN了解
  19. python+selenium爬虫,使用selenium爬取热门微博数据
  20. 滴滴oracle,滴滴-数据分析

热门文章

  1. 【安卓-tio】安卓集成t-io
  2. 求有关计算机的英语科技小短文,带翻译,200字左右,关于计算机的英语小短文,带翻译....
  3. 类和动态内存分配——C++ Prime Plus CH12
  4. 【游戏介绍】aiwi体感balance
  5. 电脑桌面两个计算机图标怎么删除,电脑声音图标怎么有两个,怎么除掉一个
  6. 《学习之道》第一章开启大门-数学和语言
  7. 怎么查看服务器里的文件夹,如何查看远程服务器里面的文件夹
  8. 【金猿产品展】创宇蜜罐——网络威胁处置最便捷的蜜罐产品
  9. python爬取今日头条热点新闻事件,Python爬虫实战入门五:获取JS动态内容—爬取今日头条...
  10. React中三元运算符的坑