设为首页 收藏本站
查看: 1348|回复: 0

[经验分享] python3 成长之路(1) 动力才是最重要的

[复制链接]

尚未签到

发表于 2018-8-15 10:22:47 | 显示全部楼层 |阅读模式
  今天开始学python 目标是编写出一套自己的网络爬虫框架
  要说动力很大众化  废话不多说了
  看了很多网上的资料  然而很多东西用的都是python 2.7 很多人还是劝使用python3来做
  好吧 python3
  问题1:网上的爬虫教程很多 但是都是2.7 这里推荐一下
  http://cuiqingcai.com/927.html
  但是所有的教程都是基于2.7的
  所以还是按照3去学
  问题2:英文不好  看不懂原版
  这个真没辙  谁让小时候不好好学习呢
  废话不多说了 开始第一天的学习
  ===========================================================================================
  今天解决问题如下:

  •   怎么下载python3
  •   工具
  •   到底怎么去学python
  •   urllib包
  •   写一个get接口方法
  1.怎么下载python3
  下载python3 这个很多人百度一下都OK 但是 懵逼的是那么多连接到底怎么选择?
  https://www.python.org/downloads/windows/
  这是官网下载 可以看到最新的是3.6版本
  点击3.6后 往下拉
  本人是win7-64位系统  下载
Windows x86-64 executable installerWindowsfor AMD64/EM64T/x64, not Itanium processors71c9d30c1110abf7f80a428970ab8ec231505640SIG  安装的时候 为了避免配置的尴尬,所以在安装的时候 一开始就有咨询是否配置到path  直接勾选 一路next
  安装完毕 。运行cmd 输入 python  回车后 >>> 标志  配置成功 (其实啥都没干)
  2.工具

  很多时候学语言  都让txt走起,高级点的 editplus啥的  一定要走个编译过程。怎么说呢 哥们用这个方法学python 不下5遍了  最终都败给了懒惰  思来想去>  IDE的选择  原来想用eclipse的 直接安装插件 但是失败了 失败的原因更令我无语。因为我安装的是python3.6 然而eclipse并不支持 这么新的版本。。果断放弃
  所以选择IDE是pycharm-professional-2016.3.2 官网直接下载 版本自行选择
  安装后,开始本人的第一个代码之旅
  3.到底怎么去学python
  很多人在学语言的时候 都在想先打基础 基础打好了 一切OK 啥叫基础:输入 输出 判断 循环 数组 oo思想。。。。。。。
  好吧 哥们在此之前 对于这种学习方法 100%拥护 但是就是因为基础这东西 学着学着就没了兴趣 才发现自己离目标越来越远 好吧  既然有目的 所以 还是从目的的角度出发学习
  所以在这里 本人直接pass里基本语言  直接由浅如深的学习爬虫技术
  4.urllib包
  基本上看到网上做爬虫都是使用urllib和urllib2包  好吧 不管怎么样 先用了再说
  1)打开pycharm  百度一下怎么下载插件 File-Settings  里面有Project,打开后看到有Project Interpreter
  2)输入urllib和urllib2 我去  好多啊。。。。没办法 谁让不懂呢 全部下载
  3)导入包语句 也就是第一句代码
  import urllib,urllib2
  好吧  百度的大神们你们赢了 没有报错 往下走
  5.编写get接口方法
  百度后发现,需要调用requst方法  恩 写吧
= urllib.request.urlopen(url).read()  报错了  醉了  为啥是方法报错
  百度后  发现 在python3中 urllib2和urllib已经2合一了,所以光导这两个包 是不够了 变换一下
urllib.request  

  
data = urllib.request.urlopen("http://www.baidu.com"
  
).read()
  好长  不是oo思想。。。来吧  改动吧
urllib.request  

  
url = data = urllib.request.urlopen(url).read()
  这样就行了 给大家解释一下:
  url就不解释了 主要是存放 接口url地址的
  urllib是Python标准库的一部分,包含urllib.request,urllib.error,urllib.parse,urlli.robotparser四个子模块,urlopen函数,用于打开一个URL:

  •   info():返回一个对象,表示远程服务器返回的头信息。
  •   getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。
  •   geturl():返回请求的url地址。
  read():返回内容
  说白了就是将返回内容赋值给url这个变量
  额外说一下 python的变量是不用写类型的  人家是自动默认类型
  那么想在控制台看到 就需要输出语句
(data)  OK完事,运行看一下。。。结果这。。。。。。看不懂 居然不是html源码。。。看来是忽略了什么
  但是www.baidu.com这几个英文还是看的懂得 但是没有看到 应该出现的百度一下这个按钮
  很显然 没有显示中文 百度一下 转码
  直接复制别人的文字了
  Python中编码、解码与Unicode的联系
  字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(decode)成Unicode,再从Unicode编码(encode)成另一种编码。
  Python中encode、decode的使用叙述
  首先,encode是unicode转换成str;decode是str转换成unicode。
  s.decode('...'):运行都会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符。
  data拿到的肯定是字符串。so
  data.decode('UTF-8') 后 在给data赋值
  OK 在运行  完美。。。。。。
  全部代码如下
urllib.request  

  
url = data = urllib.request.urlopen(url).read()
  
data = data.decode()(data)
  好几次了 为了给代码加注释  结果各种报错 所以 我把注释写到最后
  第一行  导包
  第二行  把URL地址 赋值给url这个变量  当然 你想叫什么都行
  第三行  使用urllib.request.urlopen().read()这个方法来读取URL并读取返回内容   最终赋值给data这个变量
  第四行 给data这个变量 附加utf-8转码
  第五行 最终的输出
  ===========================================================
  后记  本人才疏学浅  如有高手看到本文中的错误 希望能及时告诉我

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552085-1-1.html 上篇帖子: PEP8 Python 编码规范整理 下篇帖子: python内置函数3-delattr()
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表