| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 【Python学习笔记】简单调用百度API应用 -> 正文阅读 |
|
[Python知识库]【Python学习笔记】简单调用百度API应用 |
#本文一切代码及理论均来自于郑秋生、夏敏捷二位老师主编《Python项目案例发 从入门到实践》一书,本人仅做微改。创作本文的目的仅为总结本人的学习过程和成果,借此巩固。可能存在许多疏漏之处,还请各位同道多多批评指正。 ????????今天学的是调用百度API一个章节,百度大家都熟悉,现如今中国最大的互联网企业之一,坐拥大量曾经的“爆款”,甚至拥有堪称第一代中国现象级软件的“百度贴吧”,创造了无数出圈梗,几乎是一代人的网络记忆。 ????????当然了,由于各种原因,百度现在的影响力大不如前,曾经的如日中天沦落到如今只剩一句“What's your problem”为人所知。 ? ? ? ? 那么,在这样的背景下,百度该如何回到曾经的辉煌呢 ????????跟我没啥关系TnT,赚了钱又不给我分红 但是作为一名刚踏入互联网圈的小白,对百度还是挺喜欢的———毕竟百度提供了那么多好用的API~ ????????今天我们需要借用的就是百度的翻译API来了解Python的一个新库:urllib! ????????urllib库是Python最常用的,访问网页用的库,通过这个简约的库,便可以像访问本地文件一般,去访问网页,并抓取、读取和保存网页。怎么个意思呢,就是网页里头的东西,你不用打开网页,费个三五秒简单地敲打几下鼠标,只需要耗费半个多小时敲个几十行代码,测试个几分钟,不到一小时就完事了,是不是特别简便啊!(bushi) ? ? ? ? urllib库和其他的Python库一样,延续了简单易懂的特点,主要的模块和函数都好用好记,主要用于操作URL的模块有以下几款:
? ? ? ? 先说? urllib.request? 和??urllib.parse? 两个大概是常用的模块着手,来对urllib库有一个整体的认识吧! ? ? ? ? 想要和一位姑娘搞对象,就要先走近她的灵魂;想要读取一个网站,就要先打开它的大门。那么Python是怎么“接近”一位姑娘的“灵魂”的呢? ? ? ? ? urllib的第一个方法,便是urllib.requset.urlopen(不是openurl啊!!) ????????urlopen会返回response对象,response对象的操作拥有多种方法:
? ? ? ? 具体使用如下:
? ? ? ? 若如此做,我们便可以得到服务器接收到的信息——不是大家看到的解析页面,而是解析前的界面信息,由于内容量过大,大家可以自行试一试,会得到一串长长的Html语句。(就是如<html></html>这种一对一对的语句) ? ? ? ? 如果需要下载,可以使用urltrieve()函数
? ? ? ? 光走近姑娘的灵魂没有用啊,老话讲叫“潘驴邓小闲”?,现在讲叫“渣男加暖男”,你得慢慢地贴近她,呵护她,靠近她,分享快乐,分担痛苦,你们才能走到一起。 ? ? ? ? urllib也是,光打开网站只能是作为学习html的一个辅助,只有进一步操作,才能得到想要的结果。 ? ? ? ? 网站最重要的,便是HTTP的头信息。HTTP是WEB开发的核心,头信息又是HTTP的核心信息,就仿佛喜欢一位姑娘,你肯定是喜欢她的性格、身材、颜值、才华等,很少有人因为姑娘的脚指甲、膝盖、肘关节或后背而喜欢一位姑娘吧,头信息就是包含了HTTP的颜值、身材、性格、才华的一份“履历说明”,getheader()方法便能够帮助我们获得姑娘的“履历说明” ? ? ? ? 在获得头信息以前,应当先获得status和reason两项信息。 ? ? ? ? 一位姑娘,不是你表白她就会接受你;一个网站,不是你访问他就会允许你。status就是姑娘有没有接受你,reason就是姑娘拒绝你的原因。那么如果被拒绝了呢?那“履历说明”自然就和你无关了~ ? ? ? ? 具体操作如下:
? ? ? ? 这样得到姑娘的“履历说明”后,我们便能够根据自己的目标,去找到姑娘相应的指标。那么,我们怎么从中抽取出某一项指标呢 ? ? ? ? 还记得上面说的多种方法么,这时候便派上了用途。
? ? ? ? ?当然了,你不但要看人家姑娘的履历说明,人家姑娘也得看你啊,看你的性格、收入、颜值和工作等信息。这个时候就需要你给人家姑娘发信息。 ? ? ? ? 根据HTTP标准,get用于信息获取——就是上面我们做的所有事情,就是由姑娘(服务器)到你(客户端);另一个就是post,就是我们提到的给姑娘发信息。就是由你(客户端)到姑娘(服务器); ? ? ? ? 当然了,get也可以给姑娘递履历信息,但是有几点不同于post的: ? ? ? ? 1.? get就是把自己想说的话信息写在HTTP信息里,post就是把个人信息也写在履历信息里,区别在哪儿呢?这儿埋个小问题,大家很容易可以在网上查到,会比我这里逼逼叨叨大家记得清楚。 ? ? ? ? 2.? get要求你不能写超过1024个字节;post却无长度上的限制。 ? ? ? ? 如果希望使用post方法,只需要使用在方法中加入data参数。
? ? ? ? 现在有的女生,被一些网络小说或者网剧教坏了,老想找什么“高富帅”或“霸道总裁”,一般男生不管多优秀,她们都不屑一顾。 ? ? ? ? 对于这种女生,如果我们要接近,就一定要先给自己坳一个“高富帅”的人设。(当然了,这种女生只是极少数,但是如果真的遇到,我还是推荐各位男同胞一定不能过于沉沦。你是很棒的,你值得更好的!) ? ? ? ? 同样的,有的网站也只允许人访问——目的主要是为了防止爬虫(当然了,不止这一个方法防止爬虫,这只是一个底线方法)。那么,Python为了防止网站觉得他不是Python而是人类呢?这时候我们就需要代理来隐藏身份了。 ? ? ? ? 用户代理一般放在“个人履历”(head)信息中。网站一检查:“你有。行,过去吧”“你没有。你是Python脚本,你不准进!” ? ? ? ? 具体的代理,根据版本不同、设备不同和端口不同各有不同,具体使用时还需要各位在网上自行搜索使用,在此不可尽举,也就不便赘述,只挑选其一为列位举个栗子
? ? ? ? ?至于设置方法,只需要在创建Request对象时,将参数传入header中
? ? ? ? 大抵如此。 ? ? ? ? 这样,我们理论层面的知识就学完了。接下来就可以实践了。 ? ? ? ? 制作一个小翻译软件,就首先要做一个页面,这里就需要用到tkinter(大家一定要熟悉一下这个图形库) ?????????
????????之后就是对数据的传导(你-->python-->baidu api) ? ? ? ? 你-->python
Python-->Baidu api
? ? ? ? ?最后,展示一下需要引用的lib(其实我相信朋友已经能够从代码中看出个八九不离十了)
? ? ? ? ?好了,这一章节的学习就进入了尾声,接下来我可能会进入爬虫的学习,可能就需要一段时间才能够总结出学习笔记,那么大家,未来见! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 3:12:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |