编程第一课, 获取小姐姐图片这件小事儿

  • 第一张图片, 用来做简书的封面, 目的是吸引你点进来, 正文在下面~
3203841-94195ec7e04edd1e.png

这件事要从我看到的一篇博客说起

3203841-93c6d3d0e286a71e.png
  • 博客里面提到了一辆很稳的"干货"车 http://gank.io
  • 这辆运"干货"的车有两个方向盘, "左转"向小姐姐图, "右转"向技术干货, 老司机们是直接左转的...
  • 博主进站"左转"后, 在"干货"车的主页底部发现了开放的api
  • 然后博主处理了一下大致是这个样子 : https://gank.io/api/data/福利/1000/1

3203841-5b998357e7494b26.png

随便点开一个链接: https://ws1.sinaimg.cn/large/0065oQSqly1fubd0blrbuj30ia0qp0yi.jpg
3203841-d550153780648512.png

emm... 阿弥陀佛...

想存图? 祭出神器 requests !

3203841-e3db041110ab7496.png

轻车熟路, Python几行代码搞定

import requests
import json
import os

def getData():
    try:
        gank_content = requests.get("http://gank.io/api/data/福利/1000/1").content
    except:
        print("获取信息失败")

    gank_json = json.loads(gank_content.decode("utf-8"))
    print(gank_json["error"])
    if (gank_json["error"] == False):
        return gank_json["results"]
    return []

def saveImg(img_info_list):
    if os.path.exists("./gank_images/"):
        pass
    else:
        os.makedirs("./gank_images/")
    for img_info in img_info_list:

        try:
            img_data = requests.get(img_info["url"]).content
            file_name = img_info["url"].split("/")[-1]
            path_name = "./gank_images/"+file_name
            if (os.path.exists(path_name) == False):
                with open (path_name, "wb+") as e:
                    e.write(img_data)
                    print(path_name, "保存成功!")
        except:
            print(img_info["url"], "保存失败")
            pass

def main():
    img_info_list = getData()
    saveImg(img_info_list)


if __name__ == '__main__':
    main()

老规矩, 得不义之财要散财,把爬到的图片, 给大学宿舍群的小伙伴分享一下


3203841-e4ed9381129adbd6.png

好吧! gank原来是敏感词, 换个名字重新上传


3203841-3e2c866fbb2e5e1d.png

小结:

  • 学爬虫也就那么回事儿, 刚接触爬虫那会儿, 最有意思的项目, 就是去斗鱼, 爬小姐姐的头像, https://www.jianshu.com/p/7055653f6c69
  • 博主认为, 学习爬虫应该是编程的第一堂课, 爬虫足够有趣, 而且足够简单, 容易培养学习兴趣, 且用途广泛~
  • 关于上面提到的学习.zip, 里面存放了代码和爬下来的600多张图片,我在百度网盘也存了一份, 感兴趣可以关注公众号jikeweikan, 回复学习, 获取代码和图片,祝学运昌隆~
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值