Python即是我们常说的网络爬虫,如果将互联网比作大型网络,python就是在网上爬行的蜘蛛,如果遇到猎物(必需资源),就会将其抓取。例如,它爬行一个网页后,然后在该网页上找到一种方法,这种方法实际上是该网页的超链接,然后爬行到另一个网页或者网站以获取更多的数据。听上去是不是很有意思,我在学习python之后,就有种飞起来的感觉。下面是我学习python的心得体会,带你了解有趣的python。
python的下载
python爬虫,首先需要本地电脑上安装有python,这里我简单说一下python的安装,我相信学爬虫的同学们肯定有一定的python基础了。
首先,进入到python官网,你可以直接输入python主页,也可以从百度搜索框进入到python的主页,这里方法很多,我不在一一例举了,然后在主页上面可以看见Downloads字样,点击下载,然后跳转出下载界面。
跳转出python下载界面,选择一个版本进行下载,这里的我3.X和2.7.X版本的差别还是蛮大的,这里我就不在累赘了,python2.7的支持包要更加全面完善,python3的包扩展可能比较少,但是正在慢慢开发;python2.7预计在202X停止更新了;但是由于小编的习惯,这里我选择的是2.7版本。
安装好后,按windos键加R键,弹出运行窗口,在运行窗口输入cms进入到命令行界面,然后输入python,如果安装成功,即可进入到python交互界面,如果没有则表示python没有安装成功。
如何让输出不换行输出
程序中如何让输出不换行输出,例如如何使用range输出1,2,3,4,5,使他们在同一行上,其实很简单,只要在print语句后面加一个逗号,程序中怎样换行,而不影响输出结果。(一般用于语句过长时)可以用分开语句。)
\表示字符串中的\n表示字符串中的换行
'表示单引号,"表示双引号
程序中"""很厉害,两个"""中可以有'和",并且不会影响输出结果,可以将'和"输出。(python中'和"的用法完全一样,也就是说这里的三引号也可以是''')
最后说一下在程序中怎么输出5排*****,这里使用两个for 循环嵌套,这个肯定不用说了,我想提的是怎么每输出5个*就换行,其实就是让第二个print的缩进和内层的for是一样的,这表明它是外层for循环中的语句,每次i的循环中,它会执行一次。第二个print后面没有写任何东西,是起到换行的作用,这样,每输出5个*,就会换行。
python的作用
阶段一】Python编程
Python基础
Python概述:Python简史、Python应用场景、Python当前发展
语法基础:变量类型、分支语句、循环语句
函数:函数初步、细说参数、变量作用域、递归调用
面向对象编程(OOP) OOP基础、公有私有问题、继承、组合& Mixin
数据结构初步:列表(list)、元组(tuple)、字典(dict)、集合(set)
异常处理:异常概述、try/except、Finally、Raise、with
扩展课程:Linux系统运维、Python图形界面(GUI)开发、(qt或者tkinter任选)
阶段贯穿项目:计算器、随机抽奖、压缩软件、猜数字
阶段二】Python高级特性
Python高级特性
Python模块:模块基本使用、搜索路径问题、DIY自己的模块
调试技术:调试技术简介、Pdb调试、Pycharm中的调试
魔法函数:魔法函数概述、构造类魔法函数、运算类魔法函数
多线程:多线程/进程简介、Python的多线程
Net编程:Socket编程、Urllib库、Requests库、Mail处理
序列化:文件(file)处理、XML编程、Pickle模块
其他常用模块:commands、sys 模块、os模块、time、random
扩展课程:Pygame、微信公众号开发-API使用、Shelve模块、JSON格式、多线程-协程,gevent
阶段课程项目:飞机大战(OOP,GUI) WebServer模拟(HTTP协议) 自动邮件发送软件(Net编程) 聊天室(Net编程)
阶段三】软件核心算法&全栈
软件核心算法&全栈
核心算法:代码规范、数据结构、设计模式、版本控制
数据库:数据库简介、Mysql、MongoDB、Redis
前端技术:HTML+CSS、Javascript、Ajax、jQuery
扩展课程:Memcached、Bootstrap、其他常见设计模式
阶段课程项目:商城界面模拟
阶段四】WEB框架
WEB框架
Django:Django的路由模块、Django中的View、ORM在django中的应用、模板系统介绍、Django常用安全控制
Tornado:Tornado的路由、Tornado使用的模板系统、Views模块、Tornado对数据库的支持、Tornado的异步处理
扩展课程:Flask框架、RESTful开发、Celery使用
AJAX
Ajax AJAX:简介、XMLHttpRequest对象详解、JQuery的AJAX、Ajax处理服务端返回的文本、XML和JSON格式的数据
WEB高级
Web强化:MD5加密、分页、文件上传、下载、动态代理
项目管理
SVN&Maven 掌握SVN的配置和使用,Maven介绍及依赖管理;安装配置;核心概念、与第三方Eclipse的整合、Maven管理Web应用;Maven管理SSH应用;使用Maven进行测试及集成;掌握Maven在Java Web应用的配置、管理和使用等技术。
阶段贯穿项目:在线商城 开源在线服务系统 Tornado Web后台处理。
阶段五】大数据&人工智能
大数据&人工智能
爬虫:爬虫原理、Urllib爬取技术、Requests爬取技术、Scrapy框架
大数据:数据科学简介、数据操作工具使用、数据呈现工具使用、基本数据分析算法
人工智能(AI):人工智能简介、Tensoflow使用、AI算法
阶段贯穿项目: 知识图谱绘制(某创业项目)、跨境电商BI数据分析
毕业项目:元器件识别系统、爬虫爬取互联网数据、手写笔迹识别 关于Linux运维
linux系统基础,这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书60%内容,没必须全部掌握,但基本命令总得会吧。
网络服务,服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行,LAMP和LNMP是必须要熟练,我所指的不是光光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才行,至少有些公司还会用tomcat,这个也最好学一下。其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。这面2点只是基础,也是必要条件,不能说是工具,以才是真正的要掌握的工具。
shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义,而另一个脚本语言是可选的,一般是3P,即python, perl和php,php就不需要考虑了,除非你要做开发,我个人建议学python会比较好,难实现自动化运维,perl是文本处理很强大,反正这两个学一个就行了。
python是一项有趣的技术,学习之后可以秘密地爬行一些感兴趣的图片,爬行知乎用户头像等等。好了关于python的学习心得,分享到这里就结束了,想了解更多于python的信息,请继续关注。