本文目录一览:
- 1、python编程遇到的几个坑
- 2、夜曲编程的python坑
- 3、为什么不建议学python
- 4、python适合做后端开发吗
- 5、python做后端好吗
- 6、windows环境的python踩坑记
python编程遇到的几个坑
1. 爬个别特定网站,不一定得用python写爬虫,多数情况wget一条命令多数网站就能爬的不错,真的玩到自己写爬虫了,最终遇到的无非是如何做大做壮,怎么做分布式爬虫。scrapy这种价值接近0,异步或者多线程搞抓取,选一个成熟的基于磁盘的队列库,kafka之类的,scrapy帮了啥?
2. http库众多,还有gevent库monkey patch以后coroutine的玩这一选择,规模千万的话urllib3很好。
3. 对付网站的诸如登录、ajax,这种不过是体力民工活,不展开了。
4. 速度很重要,放ec2或者国内的云上跑,很重要的指标是你每一亿网页爬下来成本多少,爬的时候比如4核一个虚拟机节点,你能inbound贷款用足100mbps吗。
5. beautifulsoup太慢,全网的爬,encoding的分析也要要快,c实现的chardet还行
最关键的,永远是爬下来以后的信息的提取、分析、使用,就是另外一个话题了。
1.学会使用chrome浏览器查看通信以及查看元素格式
2.增加User-Agent, 这是最简单的反爬措施了
3.写爬虫最好使用Ipython,在交互式的环境下,可以时刻了解自己问题具体出在哪里
4.使用requests
5.用get或者post下好html之后,要确认你需要的东西html里面有,而不是之后用ajax或者javascript加载的。
6.解析的话,BeautifulSoup不错。对于少数非常特殊的,可以考虑用re。
7,需要大量采集数据的话,学会使用框架,比如scrapy。
进阶:
加入网站需要模拟登陆,里面使用了很多ajax或者javascript,或者反爬虫厉害,用requests的session,注意F12查看到底发送了什么数据。
实在不会,就使用模拟浏览器吧,推荐selenium,虽然速度慢点,内存多点,但是真的很省力,而且基本查不出来。
最后,爬虫速度不要太快,加上time.sleep(1),尽量少用多线程,别人建站也不容易,(尤其是小站)你不给别人带来很大的麻烦,别人也就睁一只眼闭一只眼了,否则封IP不是好玩的。
有些页面喜欢使用redirect,然而requests的get和post方法中默认是直接跳转的!很可能你就带着错误的cookies和headers跳转了,所以务必将allow_redirects参数设为false
夜曲编程的python坑
不坑。
夜曲编程就初学者入门而言是很不错的,主要有几个优势:课程设计:总体设计由浅入深,学习路径清晰,容易坚持。采用的是卡片模式,每日学习一课,只需花费20来分钟。且页面自带记忆卡片,复杂概念简单化。
偶然在网上发现了夜曲编程这个软件。试着跟着学了一下,先是学习的免费课程。第一次学习的时候,这个教程惊艳了我。首先,夜曲编程的教程都是图文形式的教程,交互式的教学方法让学习的效率有了很大的提高。夜曲编程出自百词斩旗下,它通过卡片的形式将一些编程的知识点放入其中,一定程度上可以增进编程的学习效果。
为什么不建议学python
不建议学python的原因:
1、语言性能差
对于C++老手来说,速度上也根本不具有可比性。一个专业的程序员,写个C++能用1秒解决问题,用Python可能就需要十几秒。
2、语法混乱
就举一个例子,python2与python3这两个语言版本之间竟然互不支持,这是我在学习其他编程语言当中从来没见过的。
3、市场混乱
现在国内所谓的Python培训高薪就业啥的,其实大部分都是骗人的,想学习编程或者入行数据分析,千万别入Python这个坑,老老实实学习C\C++\JAVA\PHP 才是正道。
4、工作前景不好
那些网上鼓吹的“学会python就能找到好工作”,这纯属就是个伪命题。一个资深程序员的视角出发,实在不建议你将Python作为一种职业,从功利性的角度出发,你学Python是很找到工作的。
python适合做后端开发吗
python适合后端开发的
Python是一种计算机程序设计语言,既可用于前端还可用于后端开发。它是是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。在Python中编写后端可以简化为编写各个模块,其间的连接随后由前端部分中的用户操作确定和控制。
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。
Python做后端开发时更适合用Linux系统。
Python归功于面向方面的语言:它意味着在Python中编写后端可以简化为编写各个模块,其间的连接随后由前端部分中的用户操作确定和控制。
Python被认为是学习中最容易学习的一种,它最大限度地考虑了编译中的空格和缩进,这大大加快了编码过程,但增加了粗心错误的可能性。但是,与其他语言相比,Python包含的额外字符要少得多。考虑到Python,值得注意的是命令的简单性。实际上,这种语言中的大多数命令都与自然英语中的相应单词类似,这使得学习起来更容易。
python做后端好吗
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python 是一种计算机程序设计语言,既可用于前端还可用于后端开发。它是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。在后端开发中有着极其重要的作用。
相关推荐:《Python教程》
Python 特点:
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
windows环境的python踩坑记
虽然使用python有不少时间了,但是基本没有在windows环境下使用,这不就踩了不少坑,特此记录如下:
安装完成后,发现没有python命令,这个是环境变量的问题,添加就可以了。但是也找不到pip 命令,而进入python里面,可以import pip 模块。这时候,需要用 “python -m ensurepip ” 来生成pip命令了,生成之后添加到环境变量就可以直接使用了, 默认情况下pip的路径: Python_install_path\scripts\pip.exe , 在较新的python版本里面,已经默认会生成pip 命令,也就是说不需要上述步骤就有pip 命令可以使用了.需要注意的是:
如果遇到执行pip.exe 时候报错: Fatal error in launcher: Unable to create process using '"' , 那么可以尝试用: python FULL/PATH/OF/PIP/COMMAND 来替带直接运行 pip, 貌似是无法找到合适的解释器来运行pip造成的.
如果发现系统中已经安装了python,但是缺少需要的module, 需要自己安装,可是不是管理员权限,没办法安装,python 提供了解决办法,方法如下:
A.
使用python -m site 命令,该命令会输出python的sys.path变量的值,以及其他的变量,见如下内容,其中我们可以看到有两个变量:USER_BASE, USER_SITE. 我们可以把需要的module 安装到USER_SITE下.
如果不存在相应的路径,那么我们可以创建.
B.
有了上述的路径后,我们在安装3rd module 的时候,就可以指定安装路径了:
pip install MODULE_FILE.PY --target=ABOVE\USER_SITE\PATH
上述方式安装之后,只有当前用户可以使用这些新装的module, 其他用户是不可以的.
其实这个不能算windows平台的坑了,一般不能import 都是缺少依赖的问题。 那么我们可以返回pip 命令,首先要知道这个module 的路径,通过路径中其他的信息确认这个module所属的package.