• 使用Python调用Flickr API抓取图片数据


    Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站。其API也很友好,可以实现多种功能。这里我使用了Python调用其API获得了大量的照片数据。需要注意的是,要想登录其网站,注册成为开发者,并调用其API,需要FQ。但获得的url可以不FQ查看。

    首先需要先去Flickr注册成为其开发者,创建应用,获得API_KEY和API_SECRET,其API网址在:https://www.flickr.com/services/api/

    Flickr提供了多种开发工具进行使用。这里使用Python开发工具。官方推荐的开发工具是Beej’s Python Flickr API. https://stuvel.eu/flickrapi

    可以直接使用pip安装工具进行安装,输入flickrapi即可自动安装好。

    官方文档在这里:https://stuvel.eu/flickrapi-doc/

    爬取照片数据最好的方法是使用其walk方法。这个方法实质上是调用了flickr.photos.search的接口,各种参数可以参见该API的介绍:https://www.flickr.com/services/api/flickr.photos.search.html

    用好这个方法,输入不同的参数,就可以满足大部分数据挖掘的需要,包括时间、地理位置、照片类型等。

    这里贴上一段简单的代码,仅供参考:

     1 #coding:utf-8
     2 import flickrapi
     3 #输入API的key和secret
     4 flickr=flickrapi.FlickrAPI(api_key,api_secret,cache=True)
     5 try:
     6     #爬取text为'New York'的照片,这里可以根据自己的需要设置其它的参数
     7     photos=flickr.walk(text='New York',extras='url_c')
     8 except Exception as e:
     9     print('Error')
    10 for photo in photos:
    11     #获得照片的url,设置大小为url_c(具体参数请参看FlickrAPI官方文档介绍)
    12     url=photo.get('url_c')
    13     print(str(url))

    需要注意的地方在于,倘若出现循环的情况,可能是因为数据量太大,因此需要加一些限制条件限制,例如一次调用只调用一段时间内的数据,再分批次挖掘数据。

    转载请注明作者和出处——天靖居士:http://www.cnblogs.com/kkyyhh96/ 海阔凭鱼跃,天高任鸟飞
  • 相关阅读:
    LostRoutes项目日志——玩家飞机精灵Fighter解析
    quartz Cron表达式一分钟教程
    vue-cli入门
    SQL中merge into用法
    SQLSERVER查询那个表里有数据
    C#实现复杂XML的序列化与反序列化
    MVC和WebApi 使用get和post 传递参数。
    项目管理软件推荐
    JS跨域请求
    Android动画效果translate、scale、alpha、rotate详解
  • 原文地址:https://www.cnblogs.com/kkyyhh96/p/5675087.html
Copyright © 2020-2023  润新知