文末福利!送书啦!

您若喜欢,给公众号设置星标,第一时间获取推送

1

前言

网络爬虫,爬天爬地爬空气。

除了常规的下载文字、图片、音频这些,还能干啥?

还能干的有很多,比如一些「多种多样」的特殊服务

2

特殊服务

特殊服务,就是那些定制化的 API。

API 的概念也很好理解:

比如你想爬一个网站的数据,你需要分析这个网站,要向哪个 url 发起请求,要向服务器传递哪些数据,拿到服务器的返回数据又要怎么解析出想要的数据。

其实,这个过程,就是在「抽象化」出一个 API。

例如,上篇文章的视频下载实战。

对于写好的「视频下载程序」而言,输入就是视频名,输出就是下载好的视频文件。

你可以把「视频下载程序」叫做一个 API,本质上就是一个完成特定任务的接口

当然,这些所谓的 API,并非网站管理者提供给你的,而是你自己通过写程序实现的。

这些 API 是需要自己去挖掘,去发现,属于野生的,可以略带调侃地称呼它们为野生 API。

特殊服务,那可就了不得了

它们不是野生的,而是网站官方提供的官方 API。

这些网站明码标价,提供着各式各样定制化服务

比如,这是「聚合数据」提供的一些查询类 API。

这些常规 API 今天不做讨论,咱们玩一些好玩的。

只会网络爬虫,也能玩转所谓的人工智能算法

3

AI 开放平台

人工智能开放平台,很多家都有。

比较熟知的,腾讯、百度、京东、Face++ 都提供了 AI 开放平台。

腾讯 AI 开放平台:

https://ai.qq.com/

百度 AI 开放平台:

https://ai.baidu.com/

京东 AI 开放平台:

http://neuhub.jd.com/

旷视 AI 开放平台:

https://www.faceplusplus.com.cn/

常见的图像技术、语音技术、文字识别,这些网站都有提供。

单看服务数量,百度提供的接口最丰富。

单看图像技术,就眼花缭乱,这么多服务。

如果看服务质量,那应该各有千秋。比如旷视,人脸相关的技术,应该是比较好,毕竟早些年支付宝的人脸识别技术,都是旷视提供技术支持的,底子在那呢。

4

API 的使用方法

API 使用方法很简单,只要有爬虫基础,完全可以轻松应对。

咱们以旷视科技的人脸技术为例进行测试。

首先,创建一个账号

然后,找一个想体验的服务,咱先试试美颜。这年头,没有美颜还真不敢上镜。

旷视科技提供了现成的功能体验。

美颜美型:

https://www.faceplusplus.com.cn/face-beautify/

分为美颜和美型,我的理解就是磨皮滤镜加瘦脸,看一下美颜效果。

左边是美颜前,右边是美颜后,拖拽中间的竖栏,可以调节查看。

下面有很多备选图片,你可以挨个翻牌子,看效果。都不喜欢,也可以点击自定义,上传自己想测试的图片。

这是通过 web 体验服务,如果想嵌入自己的程序里,那就需要学习如何使用这个 API 了。

登录账号,选择控制台,然后创建一个应用,选择「试用」类型。

填写一些信息后,就会生成一个 API KeyAPI Secret,这两个是使用 API 接口要用到的参数。

相当于你的个人账号和密码。

在控制台,有各种服务的使用说明,比如人脸美颜。

Beautify API v2:

https://console.faceplusplus.com.cn/documents/134252584

这个文档,有详细的接口描述,根据这些描述,就可以写代码。

可以看到请求 POST 请求,图片可以是以 URL、二进制文件或 base64 编码上传。

瞧,这就是我之前提到过的,POST 请求的内容,除了是一些文字内容,还可以是一张图片。

根据手册编写代码:

import requests
import base64
import json
import cv2
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inlinebeautify_url = "https://api-cn.faceplusplus.com/facepp/v2/beautify"
# 你创建的应用的 API Key 和 API Secret(也叫 Secret Key)
AK = ''
SK = ''# 可选参数,不填写,默认50
# 美白程度 0 - 100
whitening = 80
# 磨皮程度 0 - 100
smoothing = 80
# 瘦脸程度 0 - 100
thinface = 20
# 小脸程度 0 - 100
shrink_face = 50
# 大眼程度 0 - 100
enlarge_eye = 50
# 去眉毛程度 0 - 100
remove_eyebrow = 50
# 滤镜名称,不填写,默认无滤镜
filter_type = ''# 二进制方式打开图片
img_name = 'test_1.png'
f = open(img_name, 'rb')
# 转 base64
img_base64 = base64.b64encode(f.read())# 使用 whitening、smoothing、thinface 三个可选参数,其他用默认值
data = {'api_key': AK,'api_secret': SK,'image_base64': img_base64,'whitening': whitening,'smoothing': smoothing,'thinface': thinface,}r = requests.post(url=beautify_url, data=data)
html = json.loads(r.text)# 解析base64图片
base64_data = html['result']
imgData = base64.b64decode(base64_data)
nparr = np.frombuffer(imgData, np.uint8)
img_res = cv2.imdecode(nparr, cv2.IMREAD_COLOR)
img_res_BGR = cv2.cvtColor(img_res, cv2.COLOR_RGB2BGR)# 原始图片
img = cv2.imread(img_name)
img_BGR = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)# 显示图片
fig, axs = plt.subplots(nrows=1, ncols=2, sharex=False, sharey=False, figsize=(10,10))
axs[0].imshow(img_BGR)
axs[1].imshow(img_res_BGR)
plt.show()

你需要填写自己的 AK 和 SK,并下载一张图片。

图片地址:

https://cuijiahua.com/wp-content/uploads/2020/05/test_1.png

API 接口返回的数据是 base64 的二进制文件,需要解码,运行结果:

效果还不错吧!

除了美颜,还有很多服务,人脸检测、人脸识别、人脸关键点等等。

人脸关键点就是在脸上画一堆点,这有什么用?

一个比较成熟的例子就是虚拟主播。

看着还不错吧?

AI 开放平台提供了丰富的 AI 领域的基础能力,怎么用,用来干什么,就看自己的想象力了。

当然,这些免费使用的 API 接口有很多限制,比如不能请求太快等等。

想要 API 提供性能更好,QPS 更大的优质服务,那就得充钱了。

老板,加个钟

5

最后

这种 API 接口也可以用来清晰数据,训练自己的网络模型,花点小钱,清晰一批数据,真香!

     精 彩 文 章 

  • 再见,Eclipse...

  • 危险!在国内,自己私下使用VPN是否违法?

  • 用Python赚钱的5个方法,教你业余时间赚外快!

【福利】:来领书吧,pick起来!

本书介绍了21个典型的人工智能应用场景,主要有三类实战:预测类项目实战篇、识别类项目实战篇和生成类项目实战篇。非常不错!现送出一本,扫码关注小詹的视频号「小詹同学」,我将用Python写个随机生成数在关注列表抽出这个幸运读者!明日推文末尾公布结果,公开透明,简单粗暴!

文末福利 | Python3 网络爬虫:老板,需要特殊服务吗?相关推荐

  1. 精通python爬虫框架-精通Python爬虫从Scrapy到移动应用(文末福利)

    原标题:精通Python爬虫从Scrapy到移动应用(文末福利) 我能够听到人们的尖叫声:"Appery.io是什么,一个手机应用的专用平台,它和Scrapy有什么关系?"那么,眼 ...

  2. 《Python3网络爬虫开发实战(第二版)》上市了!!!!

    " 阅读本文大概需要 5 分钟. " 告诉大家一个好消息:我的好朋友崔庆才老师的<Python3网络爬虫开发实战(第二版)>现在正式上市了!!!! 没错,就是这本: 就 ...

  3. 《Python3网络爬虫开发实战》第二波抽奖赠书活动来了!

    嗨~ 给大家重磅推荐一本书!上市两月就已经重印 4 次的 Python 爬虫书!它就是由静觅博客博主崔庆才所作的<Python3网络爬虫开发实战>!!!同时文末还有抽奖赠书活动,不容错过! ...

  4. 【文末福利】CSDN深圳城市开发者社区第一波线下技术交流活动,蓄势启航,本周六0617为你揭开神秘面纱

    [文末福利]CSDN深圳城市开发者社区第一波线下技术交流活动,蓄势启航,本周六0617为你揭开神秘面纱 文章目录 1 写在前面 2 CSDN深圳城市开发者社区简介 3 聚焦本周六的线下技术交流活动 4 ...

  5. 《Python3网络爬虫开发实战》抽奖赠书活动

    这本书之前在公众号推荐过,这次庆才找到我想再帮忙宣传一下,如果你的爬虫还是徘徊在入门与放弃路上,这本书能给你一条指引. 上市两月就已经重印 4 次的 Python 爬虫书!它就是由静觅博客博主崔庆才所 ...

  6. Python3 网络爬虫快速入门实战解析

    点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...

  7. python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)

    原标题:如何快速使用Python神经网络识别手写字符?(文末福利) 点击标题下[异步社区]可快速关注 在本文中,我们将进一步探讨一些使用Python神经网络识别手写字符非常有趣的想法.如果只是想了解神 ...

  8. 推荐几个比较骚的技术公众号【文末福利】

    nIT行业技术变更周期越来越快,作为技术人最重要的是持续学习,现在的学习途径有很多,我们到底该如何做出选择?我觉得最重要有两方面:第一,需要保持良好的技术视野,持续关注行业内技术新动向:第二,多向IT ...

  9. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...

最新文章

  1. java 1 11 111_45675678ystem111111111111
  2. React 循环渲染 5
  3. Tableau如何连接其他电脑上的mysql数据库
  4. 建立新冠病毒群体免疫屏障——数学建模
  5. io和nio的缓冲_IO与NIO –中断,超时和缓冲区
  6. 一步一步SharePoint 2007之二十二:完美解决实现Form认证后无法再用SharePoint Designer编辑网站的问题...
  7. Bailian4085 数组去重排序【桶排序】
  8. [导入]Fedora Linux 9 的硬盘安装
  9. 第一部分----HTML的基本结构与基本标签
  10. canvas width/height和style.width/style.height
  11. java 引用类型 String_java基础之 数据类型 值传递 引用传递 String 四种引用类型...
  12. HashTable Dictionary HashMap
  13. unixlinux命令,20个 Unix/Linux 命令技巧
  14. CSDN下载频道1月最受欢迎资源强力推荐~!
  15. 计算机重新启动操作处于挂起状态,PHOTOSHOPCS5安装程序检测到计算机重新启动操作可能处于挂起状态...
  16. Type number trivially inferred from a number literal, remove type annotation.
  17. 操作系统习题(有一个具有两道作业的批处理系统)
  18. 交换机是一台特殊的计算机,实验三:交换机配置.ppt
  19. ANTLR学习(三)antlr的功能
  20. 大数据生态系统组件基础学习

热门文章

  1. mysql float的缺点 (不适用于高精度数据)
  2. PHP正则贪婪/懒惰匹配模式
  3. PHP的自动加载__autoload spl_autoload_register
  4. JQUERY的toFixed()
  5. 合肥工业大学计算机与信息学院学生会宗旨,计算机与信息学院举办第一期“AIE计划”实验室招新宣讲会...
  6. api可以主动采集用户数据吗_模拟量数字量采集卡之EC-8001篇
  7. 概要设计实例_尽可能通用的运维CMDB的设计与实践
  8. jquery绑定元素id事件_JQuery绑定click事件的3种写法
  9. 天津财经计算机专业研究生分数线,天津财经大学各专业2015—2020年硕士研究生复试分数线汇总...
  10. win7配置计算机失败怎么办,电脑win7配置失败 还原更新 怎么处理 不要说重装