python3 成长之路(1) 动力才是最重要的

今天开始学python 目标是编写出一套自己的网络爬虫框架

要说动力很大众化  废话不多说了

看了很多网上的资料  然而很多东西用的都是python 2.7 很多人还是劝使用python3来做

好吧 python3

问题1:网上的爬虫教程很多 但是都是2.7 这里推荐一下

http://cuiqingcai.com/927.html

但是所有的教程都是基于2.7的

所以还是按照3去学

问题2:英文不好  看不懂原版

这个真没辙  谁让小时候不好好学习呢

废话不多说了 开始第一天的学习

===========================================================================================

今天解决问题如下:

  1. 怎么下载python3
  2. 工具
  3. 到底怎么去学python
  4. urllib包
  5. 写一个get接口方法

1.怎么下载python3

下载python3 这个很多人百度一下都OK 但是 懵逼的是那么多连接到底怎么选择?

https://www.python.org/downloads/windows/

这是官网下载 可以看到最新的是3.6版本

点击3.6后 往下拉

本人是win7-64位系统  下载

Windows x86-64 executable installer Windows for AMD64/EM64T/x64, not Itanium processors 71c9d30c1110abf7f80a428970ab8ec2 31505640 SIG

安装的时候 为了避免配置的尴尬,所以在安装的时候 一开始就有咨询是否配置到path  直接勾选 一路next

安装完毕 。运行cmd 输入 python  回车后 >>> 标志  配置成功 (其实啥都没干)

2.工具

很多时候学语言  都让txt走起,高级点的 editplus啥的  一定要走个编译过程。怎么说呢 哥们用这个方法学python 不下5遍了  最终都败给了懒惰  思来想去 IDE挺好 干嘛不直接用。很多人说 IDE快捷键太多 用多了 最后变成了快捷键 对于新手不好。我承认 你说的对 但是IDE省去了各种繁琐操作,你不用快捷键 一步一步去打代码 不就行了。。。有方便的为什么不去用。

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转码

第五行 最终的输出

===========================================================

后记  本人才疏学浅  如有高手看到本文中的错误 希望能及时告诉我

时间: 2024-08-24 20:00:06

python3 成长之路(1) 动力才是最重要的的相关文章

大二女生web开发成长之路——讲述我从软妹子到女汉子的进阶过程

学习和实践前端一年时间,几乎天天在工作室和一群屌丝男程序员一起学习.开发.这种潜移默化的环境下,编码提高了,节操也细碎了. 一年前,娇滴滴的还是工作室里面小师妹一枚,软软的软件工程妹子,做不到人见人爱,但在这个据说男女比例8比1的学校中,仍是比较受欢迎群体——女生中的一员. 然而,    回想过去这一年,跟一帮大老爷们坐在一起讲蛋疼的笑话: 工作室聚餐中满怀“邪”意地企图把师兄们灌醉: 为了赶项目,可以经常和某位苦逼男一起debug到两三点,不亦乐乎: 男生唤我作欣姐,各种玩笑各种开,因为都不拿

51CTO学院四周年-成长之路

时间飞逝!蓦然回首2014,却感觉昨天才步入学院,眼下已过去四年.认识学院,是一个美丽的开始,或者说领我来到这知识殿堂的是一位老师-王佩丰老师,一位在学院中如雷贯耳的老师.千言万语,只在心中.三周年的时候,几乎用了同样的标题,或者下一年,或者将来的每一年,我依然使用这样的标题,记录每一成长的点点滴滴.正如王老师在课程中所说,希望我们能学有所成,学以致用,为自己的梦想增值! 能够在这知识殿堂里遨游,能够在这感受到每一刻成长的感受,一切都离不开作为领路人的王老师,无言的感激.在这收获了知识,实实在在

菜鸟程序员的成长之路(三)——2014,逝去的半年,奋斗的半年

从3月份到现在,仅仅半年的时间让我扮演了两个完全不同的角色,从在校生一下变成了毕业生,作为毕业生不能再像在校生一样自由自在,无所顾忌,想怎样就怎样,肆无忌惮的生活,浪费时间.如果你想从容的面临未来的生活,就需要彻头彻尾的改变.多一份稳重,多一份责任,多一份担当. 鉴于LZ不太擅长写非技术博文,那就以碎碎念的形式,来回顾一下我的奋斗历程: 技术 3月份开始备战软考,软考准备了两个多月的时间,从看视频做笔记,再到大家一起讲课,复习,做试题巩固,整个过程至今历历在目.软考虽然不难,但是对于基础差的同学

菜鸟程序员的成长之路(四)——欢送2014,欢迎2015

最近半个月一直想写年终总结,却迟迟没有提笔,不是不知道写什么而是需要写的东西太多,不知从哪下笔.继菜鸟程序员的成长之路(三)--2014,逝去的半年,奋斗的半年,请大家跟我一起再重新将2014"活"一遍. 2014年对于我来说承载了满满的回忆,也是我人生中比较重要的一年,因为在这一年里发生很多重要的事:1.我毕业了:2.我考过了软件设计师了:3.我考上了在职研究生... 学习篇 对于学习,其实有很多想写的内容,由于上篇博文:2014,逝去的半年,奋斗的半年,我已经写了2014上半年的总

二次元码农的成长之路(二)json到底有什么用途

写的有问题请指出 一.什么是json 1json指的是javaScript的表示方法 2JSON是轻量级的文本数据交换格式 3 Json是独立语言 4 json具有自我描述性 更易理解 二.语法规则 1对象表示为键值对 2数据由逗号分隔 3花括号保存对象 4方括号保存数组 比如{"name","Tom","age":"19"},{"student"=[{"name":"Tom&

【智能聊天机器人】小花猫的成长之路——3.雏形(让你立马拥有一个自己的智能聊天机器人)

大家好,今天不废话了,直接来给大家分享一下如何实现一个网页版智能聊天机器人的基本功能,也就是标题说的:雏形. 首先,上一篇文章已经提过了小花猫的大脑:图灵机器人API接口的介绍.获取和使用.(我为了写心得,特地申请了一个新的KEY) 点击下边的链接试试吧: http://www.tuling123.com/openapi/api?key=bad38ba658622caef62828496c662135&userid=0&info=你好 嘿嘿,是不是看到了一些令人激动的回复信息啦?修改inf

软件测试工程师成长之路:掌握软件测试九大技术主题

软件测试工程师成长之路:掌握软件测试九大技术主题 王顺 等 编著   ISBN 978-7-121-23996-0 2014年9月出版 定价:85.00元 432页 16开 内容提要 <软件测试工程师成长之路:掌握软件测试九大技术主题>以实际项目为原型.以关键理论与丰富实践为指导,贯彻了先进的项目管理理念与全程质量管理思想. <软件测试工程师成长之路:掌握软件测试九大技术主题>前9 章为软件测试九大技术主题分享,是众多资深软件工程师在软件测试领域的经验总结.知识升华与提高,展现众多

程序员成长之路

程序员的成长之路就是不断学习,不断地提高. 人为财死,鸟为食亡.努力地学习,努力地提高自己,也是为了希望收入的不断提高,尤其在当今社会,有钱就是大爷. 我这么说,可能有人会骂我了. 现在都什么社会了,自己幸福就好,谁会在乎钱啊,现在追求幸福的途径有很多. 小的时候,年轻的时候,不懂事的时候,我也是这么想的,可是,接触社会多了,原来是自己太单纯了.也可能是您的境界太高了. 经历过才有资格淡泊,做过有钱人才有资格说不爱钱,上过大学,才有资格说大学没用. 程序员成长,学习,学习,再学习,交流,交流再交

java 成长之路[轉載u]

分享总结title: java 成长之路tags:grammar_cjkRuby: true 经验差异 1-3年 要求 建议 3-5年 建议 5年+ 经验差异 最近一年比较忙,经历了创业公司的倒闭.这次又来到一个创业公司.由于要分享经验,而且很久没有写博客了.所以就把这次分享的写一下吧,希望以后能一直坚持下去.做java的么.总要有学习路线.有一个大纲,知道几年经验应该会些什么,而不是混日子.要记住工作年限!=经验 1-3年 要求 我以前面试1年经验的人,基本不会去问框架,只会问一些api,例如