爬虫爬取百度图片、搜狗图片

通过以下代码可以爬取两大图片网站(百度和搜狗)的图片,对于人工智能、深度学习中图片数据的搜集很有帮助!

一、爬取百度图片

        该代码可以爬取任意百度图片中自定义的图片:

import requests
import re
import time
import osdef saveImg(imgurlList, imgOs):for i in imgurlList:try:response = requests.get(url=i).contentexcept:print("error!")else:imgName = i[28: 36]with open(imgOs + imgName + ".jpg", "wb") as file:file.write(response)print(i + " 下载完成!!")def get_asjson(page, gsm, word):url = f"https://image.baidu.com/search/acjson?tn=resultjson_com&logid=9123806616981181340&ipn=rj&ct=201326592&is=&fp=result&fr=&word={word}&queryWord={word}&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={str(30 * int(page))}&rn=30&gsm={gsm}&{str(int(time.time() * 1000))}="headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36','Referer': 'https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1637758492843_R&pv=&ic=&nc=1&z=&hd=&latest=&copyright=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&dyTabStr=MCwzLDYsMiw0LDEsNSw4LDcsOQ%3D%3D&ie=utf-8&sid=&word=hello','Cookie': 'BDqhfp=hello%26%26-10-1undefined%26%2628989%26%2635; BAIDUID=0C2336F5F3D356371C46DF079632E0C8:FG=1; BAIDUID_BFESS=0C2336F5F3D356371C46DF079632E0C8:FG=1; BIDUPSID=0C2336F5F3D356371C46DF079632E0C8; __yjs_duid=1_32693704d239fea9266064fc8a3d25631637737833661; PSTM=1637737880; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; userFrom=null; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; delPer=0; PSINO=6; __yjs_st=2_ZGU4ODA5ZTdmNzczMzgxNzRiZWZhNTdkODVkY2E5MzQ3NzM3Nzc2MzZlNjYzZmRiMWVjOTlmNWQzZDA3NWY1MzM2M2NkNjNmMjMzZWVlYzQxNGQ2ODIzYjlkNTdhYTUyZjdhNWQwNjQxZWE1YTI0MWZiNzQ1NTE0N2NlNTgwNjZjODlkNWVlZWI2ZDBkNjUzNmNiZDE3NzUyYTA4ZjkxYjI1NzNhODBjOGZhZTBmMzZkY2IwOWJmNjMxNjEzNmUxYjQxZmZhM2M1ODUzYTFkNTM4NTE5MzZjZjRkODliMTE1MmRmMDY1MjI4OGJiM2I3ZGMzMDdiNjI4MWE3NDgxZV83XzQyODU3N2M0; H_PS_PSSID=35295_34446_35104_31254_35237_35049_34584_34505_35245_34578_34872_26350_35210_35145_22160; indexPageSugList=%5B%22hello%22%2C%22bello%22%2C%22hello%20%22%5D; cleanHistoryStatus=0; ab_sr=1.0.1_MTJmNTIwNGNlNmI5NDg2YmZiZTI1OTM1MGZhNTJhZTZlMzVmODE2NmEwZjg5MjNlZWZjZWY1YTY3ZjQ2Yzc2MWZiNGRlODY2ZDJjOGE3N2RhMzg2NjcxZjEzY2ZiMDQ4ODNjYzgyZTZlNWM2NGQ4YjlhMzBlMWE1ZjU0ZTY2NzAxYmM0ZGRkOTM0MGI3NzUwOWZjODY2ODE5NmU1N2E1Yw=='}response = requests.get(url=url, headers=headers).text + "1111"gsm = re.findall('"gsm":"(.*?)",', response)[0]data = re.findall('"hoverURL":"(.*?)",', response)return gsm, dataif __name__ == "__main__":a = "1e"key_word = "阳台"  # 修改你要爬取的关键字img = key_word + "_img\\"os.mkdir(img)for i in range(1, 2):  #通过改变第二个数,修改要爬取的页数asjson1 = get_asjson(i, a, key_word)saveImg(asjson1[1], img)a = asjson1[0]while True:asjson2 = get_asjson(int(i) + 1, a, key_word)saveImg(asjson2[1], img)a = asjson2[0]break

二、爬取搜狗图片

        该代码可以爬取任意搜狗图片中自定义的图片:

from urllib.parse import quote
import requests# 填入需要搜索的内容
key_word = quote('阳台')# 通过定义page决定爬取多少页,每一页有48张图片
page=50for page in range(1, page):startN=(page-1)*48url = 'https://pic.sogou.com/napi/pc/searchList?mode=1&start={}&xml_len=48&query={}'.format(startN,key_word)response = requests.get(url)json_data = response.json()allData = json_data['data']['items']img_urls=[]i = 0for data in allData:url = data['thumbUrl']img_urls.append(url)i=i+1for num in range(i):data=requests.get(img_urls[num],timeout=5).content# 此处需要修改保存路径with open('C:/Users/wbl/Desktop/AI/pc/L/'+'page'+str(page)+'-'+str(num)+'.jpg','wb')as file:file.write(data)print(num,'下载完成!!')

 其他参考:

百度安全验证icon-default.png?t=N7T8https://baijiahao.baidu.com/s?id=1764344909652245807&wfr=spider&for=pc


import requests
import re
def download_images(keyword, num):url =';word='+ keyword    html = requests.get(url).text    img_urls = re.findall('"objURL":"(.*?)",', html, re.S)    count = 0    for img_url in img_urls:        if count < num:            print('Downloading:', img_url)            try:                response = requests.get(img_url, timeout=10)                content = response.content                file_name ='./images/'+ str(count)+'.jpg'                with open(file_name,'wb') as f:                    f.write(content)                count += 1            except Exception as e:                print('Error:',e)
if __name__=='__main__':    download_images('美食', 10)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/224801.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spirng+maven实现的宠物管理系统

spirngmaven实现的宠物管理系统,演示地址:登录页面 共分为3中角色 管理员 账号&#xff1a;admin 密码&#xff1a;123456 医生&#xff1a; 账号&#xff1a;医生1 密码&#xff1a;123456 普通用户&#xff1a; 账号&#xff1a;1 密码&#xff1a;123456 数据库为mysql5.7…

共筑关基安全防线,开源网安加入中关村华安关键信息基础设施安全保护联盟

近日&#xff0c;开源网安正式加入“中关村华安关键信息基础设施安全保护联盟”&#xff08;以下简称&#xff1a;关保联盟&#xff09;成为会员单位&#xff0c;进一步加强与行业内重要机构、企业的协同合作&#xff0c;推动关键信息基础设施安全保护领域的生态建设。 未来&am…

Vue 入门指南:从零开始学习 Vue 的基础知识

&#x1f95d;VUE官方文档 注意&#xff1a; &#x1f4d2;Vue 2 将于 2023 年 12 月 31 日停止维护。详见 Vue 2 延长 LTS。&#x1f4d2;Vue 2 中文文档已迁移至 v2.cn.vuejs.org。&#x1f4d2;想从 Vue 2 升级&#xff1f;请参考迁移指南。 文章目录 &#x1f341;前言&am…

干货分享丨客户旅程管理的框架与案例

融合焕新&#xff0c;数字化转型打造客户经营新旅程。本文围绕该主题详细描述了客户旅程管理的框架&#xff0c;并通过实践案例进一步验证客户旅程管理的价值。 以下内容根据行业知名企业专家刘胜强的分享整理&#xff0c;完整版内容请点击文末“阅读原文”观看哦~ 一、客户时代…

C语言--每日选择题--Day27

第一题 1. 对于代码段&#xff0c;问下面不可以表示a[1]地址的是&#xff08;&#xff09; int a[10]; A&#xff1a;&a[0] 1 B&#xff1a;a sizeof(int) C&#xff1a;(int*)&a 1 D&#xff1a;(int*)((char*)&a sizeof(int)) 答案及解析 A A&#xff1a;取到…

【RTP】4: 实例解析:一个SRTP的wireshark抓包:带padding、带扩展

抓取的是视频包。固定的pt是127从头部找到序号,快速找到这个包包大小因为是包括了SRTP的,所以318 个字节,实际RTP包是286个字节。SRTP 包 UDP总共 294个字节,payload部分286 RTP协议 RTP部分: B0 代表有padding、有扩展 从B0开始

C++之算术生成算法

C之算术生成算法 accumulate #include<iostream> using namespace std; #include<vector> #include<numeric>void test() {vector<int> v;for (int i 0; i < 10; i){v.push_back(i);}int total accumulate(v.begin(), v.end(),0);cout << t…

2019年10月17日: Go生态洞察:在Go 1.13中处理错误

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

OpenVINO异步Stable Diffusion推理优化方案

文章目录 Stable Diffusion 推理优化背景技术讲解&#xff1a;异步优化方案思路&#xff1a;异步推理优化原理OpenVINO异步推理Python API同步和异步实现方式对比 oneflow分布式调度优化优势&#xff1a;实现思路 总结&#xff1a; Stable Diffusion 推理优化 背景 2022年&am…

搭建你自己的网盘-个人云存储的终极解决方案-nextcloud AIO(二)

今天接着上篇&#xff0c;我们继续来玩nextcloud AIO. 当我们看到这个页面的时候&#xff0c;则证明AIO已经安装好了&#xff0c;登录账号和密码在图上已经标注了。点击open your nextcloud 即可跳转到我们的域名的登录页。 输入用户名和密码后登录即可。 打开前台页面&#x…

java springboot测试类Transactional解决 测试过程中在数据库留下测试数据问题

好 目前 我们已经完成了表现层对应的测试了 但这里有个坑 如果我们在执行某个声明周期时 包含了测试的过程 它会在数据库中留下一条数据 但真实企业开发 绝对不允许 过一遍留一组数据的 那么 我们的期望就是 执行测试过程 但不要留下任何数据 这是我们的数据库表 然后 这里…

【论文阅读】ActiveNeRF:通过不确定性估计候选新视图

【论文阅读】ActiveNeRF: Learning where to See with Uncertainty Estimation Abstract1 Introduction3 Background4 NeRF with Uncertainty Estimation5 ActiveNeRF5.1 Prior and Posterior Distribution5.2 Acquisition Function5.3 Optimization and Inference 6 Experimen…