文末福利 | Python3 网络爬虫:老板,需要特殊服务吗?
文末福利!送书啦!
您若喜欢,给公众号设置星标,第一时间获取推送
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 Key 和 API 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 网络爬虫:老板,需要特殊服务吗?相关推荐
- 精通python爬虫框架-精通Python爬虫从Scrapy到移动应用(文末福利)
原标题:精通Python爬虫从Scrapy到移动应用(文末福利) 我能够听到人们的尖叫声:"Appery.io是什么,一个手机应用的专用平台,它和Scrapy有什么关系?"那么,眼 ...
- 《Python3网络爬虫开发实战(第二版)》上市了!!!!
" 阅读本文大概需要 5 分钟. " 告诉大家一个好消息:我的好朋友崔庆才老师的<Python3网络爬虫开发实战(第二版)>现在正式上市了!!!! 没错,就是这本: 就 ...
- 《Python3网络爬虫开发实战》第二波抽奖赠书活动来了!
嗨~ 给大家重磅推荐一本书!上市两月就已经重印 4 次的 Python 爬虫书!它就是由静觅博客博主崔庆才所作的<Python3网络爬虫开发实战>!!!同时文末还有抽奖赠书活动,不容错过! ...
- 【文末福利】CSDN深圳城市开发者社区第一波线下技术交流活动,蓄势启航,本周六0617为你揭开神秘面纱
[文末福利]CSDN深圳城市开发者社区第一波线下技术交流活动,蓄势启航,本周六0617为你揭开神秘面纱 文章目录 1 写在前面 2 CSDN深圳城市开发者社区简介 3 聚焦本周六的线下技术交流活动 4 ...
- 《Python3网络爬虫开发实战》抽奖赠书活动
这本书之前在公众号推荐过,这次庆才找到我想再帮忙宣传一下,如果你的爬虫还是徘徊在入门与放弃路上,这本书能给你一条指引. 上市两月就已经重印 4 次的 Python 爬虫书!它就是由静觅博客博主崔庆才所 ...
- Python3 网络爬虫快速入门实战解析
点击上方"Python高校",关注 文末干货立马到手 作者:Jack Cui http://cuijiahua.com/blog/2017/10/spider_tutorial_1 ...
- python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)
原标题:如何快速使用Python神经网络识别手写字符?(文末福利) 点击标题下[异步社区]可快速关注 在本文中,我们将进一步探讨一些使用Python神经网络识别手写字符非常有趣的想法.如果只是想了解神 ...
- 推荐几个比较骚的技术公众号【文末福利】
nIT行业技术变更周期越来越快,作为技术人最重要的是持续学习,现在的学习途径有很多,我们到底该如何做出选择?我觉得最重要有两方面:第一,需要保持良好的技术视野,持续关注行业内技术新动向:第二,多向IT ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...
最新文章
- java 1 11 111_45675678ystem111111111111
- React 循环渲染 5
- Tableau如何连接其他电脑上的mysql数据库
- 建立新冠病毒群体免疫屏障——数学建模
- io和nio的缓冲_IO与NIO –中断,超时和缓冲区
- 一步一步SharePoint 2007之二十二:完美解决实现Form认证后无法再用SharePoint Designer编辑网站的问题...
- Bailian4085 数组去重排序【桶排序】
- [导入]Fedora Linux 9 的硬盘安装
- 第一部分----HTML的基本结构与基本标签
- canvas width/height和style.width/style.height
- java 引用类型 String_java基础之 数据类型 值传递 引用传递 String 四种引用类型...
- HashTable Dictionary HashMap
- unixlinux命令,20个 Unix/Linux 命令技巧
- CSDN下载频道1月最受欢迎资源强力推荐~!
- 计算机重新启动操作处于挂起状态,PHOTOSHOPCS5安装程序检测到计算机重新启动操作可能处于挂起状态...
- Type number trivially inferred from a number literal, remove type annotation.
- 操作系统习题(有一个具有两道作业的批处理系统)
- 交换机是一台特殊的计算机,实验三:交换机配置.ppt
- ANTLR学习(三)antlr的功能
- 大数据生态系统组件基础学习
热门文章
- mysql float的缺点 (不适用于高精度数据)
- PHP正则贪婪/懒惰匹配模式
- PHP的自动加载__autoload spl_autoload_register
- JQUERY的toFixed()
- 合肥工业大学计算机与信息学院学生会宗旨,计算机与信息学院举办第一期“AIE计划”实验室招新宣讲会...
- api可以主动采集用户数据吗_模拟量数字量采集卡之EC-8001篇
- 概要设计实例_尽可能通用的运维CMDB的设计与实践
- jquery绑定元素id事件_JQuery绑定click事件的3种写法
- 天津财经计算机专业研究生分数线,天津财经大学各专业2015—2020年硕士研究生复试分数线汇总...
- win7配置计算机失败怎么办,电脑win7配置失败 还原更新 怎么处理 不要说重装