超详细解析python爬取外网图片 您所在的位置:网站首页 梯子爬墙图片 超详细解析python爬取外网图片

超详细解析python爬取外网图片

2023-11-22 10:15| 来源: 网络整理| 查看: 265

废话不多说直接上货

from bs4 import BeautifulSoup #网页解析库 import requests #网页请求库 import json #json数据解析库 import random #随机数产生库 import hashlib #MD5加密算法的模块 import urllib #python自带的http请求库 list = [] #存放图片的网站 headers ={ 'accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0' } #我用的是Firefox浏览器伪造请求头 def baidu_translate(text, fromLang='zh', toLang='en'): #中文翻译函数(不懂请看下面链接) appid = 'xxxxxxxxxxxxxx' #每个账号的appid secretKey = 'xxxxxxxxxxxxx' #每个账号的钥匙 myurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate' #百度翻译必须带上的头部 q = text #需要翻译的中文 salt = random.randint(32768, 65536) #salt是产生的随机数 sign = appid + q + str(salt) + secretKey #拼接字符串1 m1 = hashlib.md5() m1.update(sign.encode('utf-8')) sign = m1.hexdigest() #mdk5加密生成的计算签名 myur1 = myurl + '?q=' + urllib.parse.quote( q) + '&from=' + fromLang + '&to=' + toLang + '&appid='+ appid + '&salt=' + str(salt) + '&sign=' + sign #拼接字符串1+mdk5加密生成的计算签名生产的翻译网页 return myur1 #函数返回翻译网页 url_path = 'https://unsplash.com/s/photos/' #我爬取的是国外的unsplash网站的图片 word= input('请输入你要下载的图片:') #输入中文要下载的图片 english_data = requests.get(baidu_translate(word)) #请求百度翻译api的翻译 js_data = json.loads(english_data.text) #下载翻译网页返回的json数据 content = js_data['trans_result'][0]['dst'] #提取其中的英文翻译 url = url_path + content + '/' #将英文翻译添加到图片网站上形成你要访问的图片主页 wb_data = requests.get(url,headers=headers) #请求图片网站数据 soup = BeautifulSoup(wb_data.text,'lxml') #解析数据 imgs = soup.select('a > div > img') #定位到图片的网页地址 for img in imgs: #将所有的图片url都下载到list中 photo = img.get('src') #提取src节点的数据 list.append(photo) #得到图片的url path = 'C:/Users/qq/Pictures/Camera Roll/' #我的保存路径 for item in list: #读取每个图片的url data = requests.get(item,headers=headers) #请求url fp = open(path+item.split('?')[0][-27:]+'.jpg','wb') #图片的名字 fp.write(data.content) #下载图片 fp.close() #下载完成关闭图片

下面说下重点 1.百度翻译的实现过程,请看下面的文章:百度API的使用方法 2.图片网站和图片的url: 图片网站是指查找图片的网站!在这里插入图片描述 这个是图片的url这个是图片的url `



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有