十五. API实战 - 调用有道智云API爬取pexels图片

  1. PEXELS网站提供海量共享图片素材,图片质量高,可免费用于个人和商业用途。
    网址:https://www.pexels.com/

  2. 网站支持英文关键字,可考虑用有道智云API将中文转变成英文。

  3. 采用requests 写入方法爬取图片。

代码如下():

# 网页采用了动态加载,目前一次只抓取15张左右的图片。
import requests
import hashlib
import random
import json
from bs4 import BeautifulSoup

def translate(q):
    appKey = 'XXXXX'       #应用ID,进行注册后可自动获得
    secretKey = 'XXXXX'   #应用密钥,进行注册后可自动获得 
    url = 'http://openapi.youdao.com/api'
    fromLang = 'zh-CHS';toLang = 'EN';salt = random.randint(1, 10)     #中译英

    sign1 = appKey+q+str(salt)+secretKey
    sign = hashlib.md5(sign1.encode(encoding='utf-8')).hexdigest()
    myurl = url+'?q='+q+'&from='+fromLang+'&to='+toLang+'&salt='+str(salt)\
            +'&appKey='+appKey+'&sign='+sign
     
    r = requests.get(myurl)
    json_data = json.loads(r.text)
    result = json_data['web'][0]['value'][0]
    return result

def get_image(url):
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3294.6 Safari/537.36'}
    r = requests.get(url,headers = headers)
    print(r.status_code)
    soup = BeautifulSoup(r.text,"lxml")

    infos = soup.select("img.photo-item__img")
    download_list = []
    for info in infos:
        image_url = info.get('src')
        download_list.append(image_url)
    for item in download_list:
        res = requests.get(item,headers = headers)
        file_name = item.split("?")[0][-10:].strip("-")
        with open("F://"+file_name,'wb') as f:
            f.write(res.content)
        print(file_name)
    

if __name__ == "__main__":        
    word = input("请输入您要搜索的中文关键词:")
    result = translate(word)
    print(result)

    url = "https://www.pexels.com/search/" + result
    get_image(url)
    print("Finished!")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 当决定去完成一个爬虫操作时,第一反应可能就是用Requests库请求网页,然后从正则表达式、Beautifu...
    OzanShareing阅读 195评论 0 0
  • 我刚进家门,就看到迎面跑来的小儿子,马上伸开双臂准备抱他,他却跑开了。 到处给我找拖鞋,然后拿着摆好的拖鞋,看着我...
    一佑方舟阅读 341评论 0 2
  • 01 我身边绝大部分人听到我找了个身高160的男朋友以后,都用一种特悲悯,特恨铁不成钢的眼神看我,接着旁敲侧击,旁...
    菜花小姐姐阅读 26,005评论 227 474
  • □文/莫晓烟雨 于默阳看着手中的照片,陷入了深深的回忆中。 八年了,据他们第一次见面已经八...
    莫晓烟雨阅读 558评论 0 2
  • 我从干了三十年的原单位,调到到一个乡下学校。为了解决两地分居问题,这是我的梦,全家人的梦,是我和丈夫三十年的梦,是...
    落兽阅读 301评论 0 3