第1题:如何解决验证码的问题,用什么模块,听过哪些人工打码平台?PIL、pytesser、tesseract模块平台的话有:(打码平台特殊,不保证时效性)云打码挣码斐斐打码若快打码超级鹰第2题:ip被封了怎么解决,自己做过ip池么?关于ip可以通过ip代理池来解决问题ip代理池相关的可以在github上搜索ipproxy自己选一个去说https://github.com/awolfly9/IPProxyTool提供大体思路:获取器通过requests的爬虫
系统 2019-09-27 17:52:35 2075
在配置python环境,并安装所需包后,运行下列代码~importpandasaspdfromsqlalchemyimportcreate_engineimportcx_Oracle#进行oracle服务器设置,用户名;密码;HOST数据库IP地址;PORT端口号;SERVICE_NAMEdb=cx_Oracle.connect('userid','password','10.10.1.10:1521/dbinstance')print(db.versio
系统 2019-09-27 17:52:32 2075
1.常用模块#连接数据库connect()函数创建一个新的数据库连接对话并返回一个新的连接实例对象PG_CONF_123={'user':'emma','port':123,'host':'192.168.1.123','password':'emma','database':'dbname'}conn=psycopg2.connect(**PG_CONF_123)#打开一个操作整个数据库的光标连接对象可以创建光标用来执行SQL语句cur=conn.cur
系统 2019-09-27 17:52:21 2075
Python装饰器是一个消除冗余的强大工具。随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能。例如让我们看看Djangoweb框架,该框架处理请求的方法接收一个方法对象,返回一个响应对象:defhandle_request(request):returnHttpResponse("Hello,World")我最近遇到一个案例,需要编写几个满足下述条件的api方法:返回json响应如果是GET请求,那么返回错误码做为一个注
系统 2019-09-27 17:52:01 2075
在基础知识部分的最后一章《第十三章Python基础篇结束章》的《第13.3节图形界面开发tkinter》简单介绍了Python内置图形界面标准库tkinter,当时特别强调tkinter没有图形开发的设计界面,使用复杂,且存在功能问题不推荐使用,将学习朋友推荐的PyQt。本章正式进入PyQt相关内容的学习,注意PyQt是GPL软件(GPL是GNUGeneralPublicLicense的缩写,是GNU通用公共授权非正式的中文翻译),不适合用于商用开发。但P
系统 2019-09-27 17:50:44 2075
Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义。一、函数式装饰器:装饰器本身是一个函数。1.装饰函数:被装饰对象是一个函数[1]装饰器无参数:a.被装饰对象无参数:复制代码代码如下:>>>deftest(func):def_test():print'Callthefunction%s().'%func.func_namereturnfunc()return_test>>>@testdefsay():return'hellowor
系统 2019-09-27 17:50:21 2075
协程是什么我们已经做过不少爬虫项目,不过我们爬取的数据都不算太大,如果我们想要爬取的是成千上万条的数据,那么就会遇到一个问题:因为程序是一行一行依次执行的缘故,要等待很久,我们才能拿到想要的数据。既然一个爬虫爬取大量数据要爬很久,那我们能不能让多个爬虫一起爬取?这样无疑能提高爬取的效率,就像一个人干不完的活儿,组个团队一起干,活一下被干完了。这是一个很好的思路——让多个爬虫帮我们干活。但具体怎么用Python实现这事呢?我们可以先别急着想怎么实现这件事,后
系统 2019-09-27 17:50:16 2075
原题|Left-recursivePEGgrammars作者|GuidovanRossum(Python之父)译者|豌豆花下猫(“Python猫”公众号作者)声明|本翻译是出于交流学习的目的,基于CCBY-NC-SA4.0授权协议。为便于阅读,内容略有改动。我曾几次提及左递归是一块绊脚石,是时候去解决它了。基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止。【这是我的PEG系列的第5部分。其它文章参见这个目录】假设有如下的语法规则:ex
系统 2019-09-27 17:49:42 2075
常见的排序算法:冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排序,归并排序。冒泡排序原理:两两元素进行比较,每一趟能够确定最大元素的位置,稳定算法defbubble_sort(alist):'''冒泡排序'''#[5,4,3,2,1][4,5,3,2,1][4,3,5,2,1][4,3,2,5,1][4,3,2,1,5]n=len(alist)foriinrange(n):#count=0forjinrange(0,n-1):ifalist[j]>
系统 2019-09-27 17:49:28 2075
Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来
系统 2019-09-27 17:48:14 2075