基于python获取少量图片的简单代码
这个程序可以自动从百度图库爬取指定关键字的相关图片,这边使用了re模块来筛选内容、使用urllib中的parse来拼接url(秉着多学多用的想法加上去的其实没必要这么麻烦),并且我在创建了一个UA列表搭配random随机选取任意UA,在爬取到内容后保存在本地。在这个程序中能够获取的图片数量比较少,如果需要大量图片需要使用其他方法进行图片爬取,其实只要在这个程序上再加点东西就行了。
代码如下:
from urllib import parse
from ua import ua_list
import requests
import random
import re
import osclass ImageSpider(object):def __init__(self,keyword):self.url = 'https://image.baidu.com/search/index?tn=baiduimage&cl=2&lm&{}'self.headers = {'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" ,'Accept-Encoding': "gzip, deflate, br",'Accept-Language': "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",'Cookie': r'winWH=%5E6_1442x754; BDIMGISLOGIN=0; BDqhfp=%E7%8C%AB%26%260-10-1undefined%26%260%26%261; PSTM=1667830036; BIDUPSID=1DD2D460CD28A78C61A455B013785648; ZFY=exSvOfzZgzDWqEe7nW:AQ2nlMzk50xWo8ZQrdXJfonjc:C; BAIDUID=87E4BAFD410FCEB2CC9B21C331E40286:FG=1; BAIDUID_BFESS=87E4BAFD410FCEB2CC9B21C331E40286:FG=1; __bid_n=18483a81ae6a021a1d4207; wapbaikedeclare=showed; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=36543_37686_37493_37623_34813_37303_37722_37801_37536_37673_37741_26350_37790; PSINO=6; delPer=0; BAIDU_WISE_UID=wapp_1668874380241_77; BCLID=9001483227611951886; BCLID_BFESS=9001483227611951886; BDSFRCVID=BMIOJeCT5G3oo_TjfDU7bjPcQ2KK0gOTTPjcTR5qJ04BtyCVNwZ1EG0PtOpvTLPbwBlLogKK3mOTH4-F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; BDSFRCVID_BFESS=BMIOJeCT5G3oo_TjfDU7bjPcQ2KK0gOTTPjcTR5qJ04BtyCVNwZ1EG0PtOpvTLPbwBlLogKK3mOTH4-F_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tb4toCtbtD83fP36q45HMt00qxby26nmye79aJ5nQI5nhn7vBpO8bx0fXM5BQPJIte3ion3vQUbmjRO206oay6O3LlO83h5wbaLDKl0MLPbcq-Q2Xh3D5UDjXMnMBMPeamOnaI-E3fAKftnOM46JehL3346-35543bRTLnLy5KJYMDFRD5_aD5JXDNRf-b-XKD600PK8Kb7VbIjqeMnkbft7jtte2-RdQIQhKnvHKJcmHUD4yU42bU473b3B5h3NJ66ZoIbPbPTTSlr6W6QpQT8r5-nj-q3rLIrf5JR1ab3vOIOzXpO1jKuzBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksD-FtqjtjJRCjoK_bf-3bfTrP-trf5DCShUFs0MLJB2Q-5M-a3KOoDU72M4jUDftVMR32Q6jiWbRM2MbmLncjSM_GKfC2jMD32tbpWJbztmTxoUJ2B-J-ShRM-RJIhMAebPRiJ-r9Qg-JslQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0hItGDj05D6JM5pJfetjK2CntsJOOaCkV8j6Oy4oT35L1DUnyyh3B5ePDWJo_LnOGhlvoD-Jc3h0rMxbnQjQDWJ4J5tbX0MQFfUFlQft20b0gKhjnWpOab2rQ2n7jWhk5Dq72y58VQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCeJTLDtnAHoKv5b-0_HRjYbb__-P4DeP5uBxRZ5m7n_l0bab7rSbcIQh_b-4Ir-nLHBMPj52On-UJ_KMbCMtj_D5OI5bFd34TfXjo43bRTLp7MbfbdVbo6L4vdhP-UyNbLWh37JPjlMKoaMp78jR093JO4y4Ldj4oxJpOJ5JbMopCafJOKHICmDj0beM5; H_BDCLCKID_SF_BFESS=tb4toCtbtD83fP36q45HMt00qxby26nmye79aJ5nQI5nhn7vBpO8bx0fXM5BQPJIte3ion3vQUbmjRO206oay6O3LlO83h5wbaLDKl0MLPbcq-Q2Xh3D5UDjXMnMBMPeamOnaI-E3fAKftnOM46JehL3346-35543bRTLnLy5KJYMDFRD5_aD5JXDNRf-b-XKD600PK8Kb7VbIjqeMnkbft7jtte2-RdQIQhKnvHKJcmHUD4yU42bU473b3B5h3NJ66ZoIbPbPTTSlr6W6QpQT8r5-nj-q3rLIrf5JR1ab3vOIOzXpO1jKuzBN5thURB2DkO-4bCWJ5TMl5jDh3Mb6ksD-FtqjtjJRCjoK_bf-3bfTrP-trf5DCShUFs0MLJB2Q-5M-a3KOoDU72M4jUDftVMR32Q6jiWbRM2MbmLncjSM_GKfC2jMD32tbpWJbztmTxoUJ2B-J-ShRM-RJIhMAebPRiJ-r9Qg-JslQ7tt5W8ncFbT7l5hKpbt-q0x-jLTnhVn0MBCK0hItGDj05D6JM5pJfetjK2CntsJOOaCkV8j6Oy4oT35L1DUnyyh3B5ePDWJo_LnOGhlvoD-Jc3h0rMxbnQjQDWJ4J5tbX0MQFfUFlQft20b0gKhjnWpOab2rQ2n7jWhk5Dq72y58VQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCeJTLDtnAHoKv5b-0_HRjYbb__-P4DeP5uBxRZ5m7n_l0bab7rSbcIQh_b-4Ir-nLHBMPj52On-UJ_KMbCMtj_D5OI5bFd34TfXjo43bRTLp7MbfbdVbo6L4vdhP-UyNbLWh37JPjlMKoaMp78jR093JO4y4Ldj4oxJpOJ5JbMopCafJOKHICmDj0beM5; BDRCVFR[X_XKQks0S63]=mk3SLVN4HKm; RT="z=1&dm=baidu.com&si=08fda187-ac48-489e-a20c-8a5f8388d197&ss=lao4pplx&sl=2q&tt=2gbw&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=2nc5p&ul=lwpdv&hd=lwphz"; firstShowTip=1; BDRCVFR[Q5XHKaSBNfR]=mk3SLVN4HKm; BDRCVFR[tox4WRQ4-Km]=mk3SLVN4HKm; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; indexPageSugList=%5B%22%E7%8C%AB%22%5D; cleanHistoryStatus=0; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; userFrom=null; ab_sr=1.0.1_OWU5MTEzNjJjNWZmNDZlZGQ5OGIwNjRmNmRmMGJiN2MzZGE3Y2ZhNzM4ODUwODg2ZGU1MWQ4OTU0YWQwMWNmMjM4NzgwZmMwMDBmMTlhMWYwOWI0OGI0YjRlMjU2OTI5NTdlOWRiNjA1NjU1YzAzNWZiZjRjN2M1MjU1OTg0ZGY0ZjgxNjM4NTYyYmNmZTc0ZWYzY2NiNzIxZjBkM2RlOA==','User-Agent' : random.choice(ua_list)}self.params = {'word' : keyword,'oq' : keyword}def request_html(self):full_url = self.url.format(parse.urlencode(self.params)) #拼接urlresponse = requests.get(url=full_url,headers=self.headers)response.encoding = 'utf-8'return response.textdef parase_data(self):content = self.request_html()pattern = re.compile('"hoverURL":"(.*?)"', re.S)link_list = pattern.findall(content)return link_listdef run(self):url_list = self.parase_data()for x in range(1,21):response = requests.get(url=url_list[x],headers=self.headers)path = f"./save-webpage/{self.params['word']}/{self.params['word']}-{x}.jpg"if not os.path.exists(f"./save-webpage/{self.params['word']}"):os.makedirs(f"./save-webpage/{self.params['word']}/")with open(path,"wb") as f:f.write(response.content)print(f"{self.params['word']}-{x}.jpg -- 成功")if __name__ == '__main__':keyword = input("请输入关键词:")spider = ImageSpider(keyword=keyword)spider.run()
基于python获取少量图片的简单代码相关推荐
- python中的doc_基于Python获取docx/doc文件内容代码解析
这篇文章主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 整体思路: 下载文件并修改后缀 ...
- python如何获取图片的尺寸_如何基于Python获取图片的物理尺寸
如何基于Python获取图片的物理尺寸 这篇文章主要介绍了如何基于Python获取图片的物理尺寸,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 问题 ...
- thinkcmf5调用指定分类的二级_Tengine快速上手系列教程amp;视频:基于Python API的图片分类应用入门丨附彩蛋...
前言:近期,Tengine团队加班加点,好消息接踵而来,OpenCV 4.3.0发布,OPEN AI LAB AIoT智能开发平台Tengine与OpenCV合作共同加速边缘智能,Tengine再获业 ...
- qpython获取手机gps_基于Python获取照片的GPS位置信息
这篇文章主要介绍了基于Python获取照片的GPS位置信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 昨天听人说,用手机拍照会带着GPS信息,原 ...
- python 人像素描_基于python实现把图片转换成素描
这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...
- python画素描画_基于python实现把图片转换成素描
这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...
- python获取网页图片_python抓取网页中的图片示例
python抓取网页中的图片示例 代码如下: #coding:utf8 import re import urllib def getHTML(url): page = urllib.urlopen( ...
- python编码尺寸_基于Python批量生成指定尺寸缩略图代码实例
这篇文章主要介绍了基于Python批量生成指定尺寸缩略图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近我们商城上架的应用越来越丰富了. ...
- python扫雷的代码及原理_基于Python实现的扫雷游戏实例代码
摘要:这篇Python开发技术栏目下的"基于Python实现的扫雷游戏实例代码",介绍的技术点是"Python实现.Python.实例代码.扫雷游戏.扫雷.游戏" ...
最新文章
- GitHub 标星 7k+,面试官的灵魂 50 问,问到你怀疑人生!
- 汇编语言随笔(16)- 对磁盘进行读写(int 13h 中断例程)和实验 17
- Hive客户端secureCRT中文显示设置
- hibernate教程--一级缓存
- java security 详解_Spring Security入门教程 通俗易懂 超详细 【内含案例】
- [Python人工智能] 七.什么是过拟合及dropout解决神经网络中的过拟合问题
- document builder how is document url being generated
- python爱心代码制作_Python之——爱心代码参与情人节
- 4种不同类别的机器学习概述
- 发送get请求php,如何利用PHP发送GET请求
- DBParameter比拼接字符串慢的解决办法
- cockroachdb设计翻译
- python排序算法——快速排序时间复杂度O(nlogn)
- 百度万年历接口实现和分析
- sed替换字符串的贪婪匹配和最小匹配
- 尚硅谷java学习笔记第五天(数组上)
- rss阅读器保存html文件,4款在线RSS阅读器使用体验
- mysql之通过cmd连接远程数据库
- 解决提交到github报错Please tell me who you are.和为不同的项目设置不同的名称
- elementUI中table单元格的合并,通用版
热门文章
- 投影仪服务器注册商标属于哪类,投影仪商标注册第几类?附:好听的投影仪商标名字...
- 线上服务器崩溃,线下门店破万,社交新宠「剧本杀」是如何迅速爆火的?
- 厄尔米特矩阵特征值为实数证明
- 开机自动播放视频,开机就自动播放视频,开机自动播放u盘视频
- 网赚点击通用教程! - 健康程序员,至尚生活!
- 为什么快捷指令无法将媒体转换为文本_CAD一些操作技巧(快捷键)
- Winamp输入模块编写详解
- Django进阶 Django REST framework+Vue 打造生鲜超市第一天 搭建环境
- 手把手MATLAB 简单连续信号表示 指数 正弦 抽样 矩形 三角波 信号
- php sku 代码编写,php – 在单个产品页面中显示SKU下的自定义字段值