首页 文章 精选 留言 我的

精选列表

搜索[快速],共10000篇文章
优秀的个人博客,低调大师

【韦玮Python分享合集】如何快速掌握Python编程基础实战?这里有你掌握Python编程世界的秘钥!

IT行业竞争激烈,淘汰迅速,随之而来的,是编程语言的不断迭代更新,程序员常有“长江后浪推前浪,前浪死在沙滩上”的感慨。然而,Python语言的教程虽然随处可见,但是忙于日常业务/学习的你或许:一直想要“找个时间学一点”,但是又不知道该从何下手?一直“没有精力”去上个培训班,或是在线啃完上百章节的视频?一直在考虑动辄上千上万的培训费用,学完是否能够升职加薪?这次,云栖社区为你请来了畅销书《精通Python网络爬虫》作者韦玮,精心打造了《Python从入门到进阶》系列课程,凭借他多年的Python实战教学经验,精准提炼出Python新手入门需要掌握的知识点,并且将实例贯穿至知识点中,让新手小白迅速掌握Python的入门要诀。本文就为各位粉丝整理了5次课程分享的精华内容,让大家一睹精彩,更多详细内容都在本文中。 演讲大咖简介:韦玮,企业家

优秀的个人博客,低调大师

阿里云峰会·上海·开发者大会开源大数据前沿趋势与最佳实践即将重磅来袭,快速报名通道已开启

7月24日,阿里云峰会 · 上海开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享开源大数据、IT 基础设施云化、数据库、云原生、物联网等领域的技术干货。 本次开源大数据专场重磅邀请 AI 领域顶尖华人科学家、阿里巴巴集团副总裁贾扬清分享开源大数据生态前瞻,了解开源大数据生态的发展趋势、AI 及机器学习的最新应用以及大型企业的数据中台实践案例,除此之外,现场还将发布大数据生态重磅信息。 7月24日,来现场见大神、听分享,聊未来! 开源大数据专场亮点 1.现场听 AI 领域顶尖华人科学家,阿里巴巴集团副总裁贾扬清分享开源大数据生态前瞻;2.了解 AI 在大规模图神经网络、大数据分析的最新应用实践;3.看大数据开源生态百花齐放;4.分享大数据及数据中台在大型企业的实践经验;5.获取大数据生态圈最新动态; 开源大数据专场议程 时间:7月2

优秀的个人博客,低调大师

Python黑科技:50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识别+人脸识别+大神讲解

嗨,我最亲爱的伙计们,很高兴我们又见面了。 首先先感谢朋友们的关注。当然我更希望认识与计算机相关的领域的朋友咱们一起探讨交流。重点说一下,我是真人,不是那些扒文章的自媒体组织,大家可以相互交流的! 本篇文章我们来讲一下关于AI相关的人脸追踪,人脸识别相关的一些知识。当然本篇教程为(上)部分,讲一下利用python+opencv来实现人脸识别与追踪,明后天出(下)部分,用python来通过指纹对比实现人脸验证、人脸解锁(大家感兴趣的可以提前关注哦)。 这两节课呢,代码量都不是很多,鄙人尽量多注释点,便于大家理解。那我们就不多啰嗦废话了,直接上干货! OpenCV: opencv目前来讲是十分流行的视觉库,而且可以支持多语言。说到opencv就不得不说它的cascades分类器。 如果我们要判断一张图片是不是有一张脸,早期方式是通过成千上万的分类器去从头匹配到尾,这样看并没有什么什么毛病,但判断的图片多了呢?那可能需要猴年马月。opencv的cascades呢,就把这些用来判断人脸特征的容器划分成多块层层匹配,到一层不匹配就被丢弃。 这好比一群人去公司面试,公司第一个要求是只要男人,那一批女人就走了,公司说只要本科,一批专科走了,公司说要两年工作经验的,又会走一批,直到最后。这样的工作量比每个人面试不管男女都过一遍流程轻松的多。 环境拓扑: 操作系统:windows7 python版本:2.7.14 opencv版本:3.x 环境配置: 1.安装python(额...这个当我没说) 2.安装Opencv 这个从官网下载就OK啦 下载完之后直接解压就行,推荐解压到跟你的python安装的父路径。 3.使用pip安装numpy 打开cmd输入: pip install numpy 进行安装,安装完毕后会给提示。 4.找到你的opencv安装路径(比如我的是D盘) 复制D:opencvopencv3.x

优秀的个人博客,低调大师

简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmUserEdit

这个页面进行评论的功能也进行了优化,当没有评论时,直接显示添加页面,有评论时显示评论列表页面,这样用户操作起来会非常方便,有时候可以会少操作1次,提高软件的有善性。 1 private voidbtnComment_Click( objectsender, EventArgs e) 2 { 3 boolcommnets = false; 4 List<KeyValuePair< string, object>> parameters = newList<KeyValuePair< string, object>>(); 5 parameters.Add( newKeyValuePair< string, object>(BaseCommentEntity.FieldCategoryCode, this.Name)); 6 parameters.Add( newKeyValuePair< string, object>(BaseCommentEntity.FieldObjectId, this.EntityId)); 7 parameters.Add( newKeyValuePair< string, object>(BaseCommentEntity.FieldDeletionStateCode, 0)); 8 commnets = DbLogic.Exists( this.UserCenterDbHelper, BaseCommentEntity.TableName, parameters); 9 // 若有记录显示列表页面,若没记录直接显示添加页面 10 if(commnets) 11 { 12 FrmCommnets frmCommnets = newFrmCommnets( this.Name, this.EntityId); 13 frmCommnets.ShowDialog(); 14 } 15 else 16 { 17 FrmCommentAdd frmCommentAdd = newFrmCommentAdd( this.Name, this.EntityId); 18 frmCommentAdd.ShowDialog(); 19 } 20 } 本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1196203,如需转载请自行联系原作者

优秀的个人博客,低调大师

23、 Python快速开发分布式搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制

转: http://www.bdyss.cn http://www.swpan.cn 用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l查看scrapy创建爬虫文件可用的母版 Available templates:母版说明 basic 创建基础爬虫文件 crawl 创建自动爬虫文件 csvfeed 创建爬取csv数据爬虫文件 xmlfeed 创建爬取xml数据爬虫文件 创建一个基础母版爬虫,其他同理 scrapy genspider -t 母版名称 爬虫文件名称 要爬取的域名创建一个基础母版爬虫,其他同理如:scrapy genspider -tcrawllagou www.lagou.com 第一步,配置items.py接收数据字段 default_output_processor = TakeFirst()默认利用ItemLoader类,加载items容器类填充数据,是列表类型,可以通过TakeFirst()方法,获取到列表里的内容 input_processor = MapCompose(预处理函数)设置数据字段的预处理函数,可以是多个函数 #-*-coding:utf-8-*- #Defineherethemodelsforyourscrapeditems # #Seedocumentationin: #http://doc.scrapy.org/en/latest/topics/items.html #items.py,文件是专门用于,接收爬虫获取到的数据信息的,就相当于是容器文件 importscrapy fromscrapy.loader.processorsimportMapCompose,TakeFirst fromscrapy.loaderimportItemLoader#导入ItemLoader类也就加载items容器类填充数据 classLagouItemLoader(ItemLoader):#自定义Loader继承ItemLoader类,在爬虫页面调用这个类填充数据到Item类 default_output_processor=TakeFirst()#默认利用ItemLoader类,加载items容器类填充数据,是列表类型,可以通过TakeFirst()方法,获取到列表里的内容 deftianjia(value):#自定义数据预处理函数 return'叫卖录音网'+value#将处理后的数据返给Item classLagouItem(scrapy.Item):#设置爬虫获取到的信息容器类 title=scrapy.Field(#接收爬虫获取到的title信息 input_processor=MapCompose(tianjia),#将数据预处理函数名称传入MapCompose方法里处理,数据预处理函数的形式参数value会自动接收字段title ) 第二步,编写自动爬虫与利用ItemLoader类加载items容器类填充数据 自动爬虫Rule()设置爬虫规则 参数: LinkExtractor()设置url规则 callback='回调函数名称' follow=True 表示在抓取页面继续深入 LinkExtractor()对爬虫获取到的url做规则判断处理 参数: allow= r'jobs/' 是一个正则表达式,表示符合这个url格式的,才提取 deny= r'jobs/' 是一个正则表达式,表示符合这个url格式的,不提取抛弃掉,与allow相反 allow_domains= www.lagou.com/ 表示这个域名下的连接才提取 deny_domains= www.lagou.com/ 表示这个域名下的连接不提取抛弃 restrict_xpaths= xpath表达式 表示可以用xpath表达式限定爬虫只提取一个页面指定区域的URL restrict_css= css选择器,表示可以用css选择器限定爬虫只提取一个页面指定区域的URL tags= 'a' 表示爬虫通过a标签去寻找url,默认已经设置,默认即可 attrs= 'href' 表示获取到a标签的href属性,默认已经设置,默认即可 * 利用自定义Loader类继承ItemLoader类,加载items容器类填充数据 *ItemLoader()实例化一个ItemLoader对象来加载items容器类,填充数据,如果是自定义Loader继承的ItemLoader同样的用法 参数: 第一个参数:要填充数据的items容器类注意加上括号, 第二个参数:response* ItemLoader对象下的方法: add_xpath('字段名称','xpath表达式')方法,用xpath表达式获取数据填充到指定字段 add_css('字段名称','css选择器')方法,用css选择器获取数据填充到指定字段 add_value('字段名称',字符串内容)方法,将指定字符串数据填充到指定字段 load_item()方法无参,将所有数据生成,load_item()方法被yield后数据被填充items容器指定类的各个字段 爬虫文件 #-*-coding:utf-8-*- importscrapy fromscrapy.linkextractorsimportLinkExtractor fromscrapy.spidersimportCrawlSpider,Rule fromadc.itemsimportLagouItem,LagouItemLoader#导入items容器类,和ItemLoader类 classLagouSpider(CrawlSpider):#创建爬虫类 name='lagou'#爬虫名称 allowed_domains=['www.luyin.org']#起始域名 start_urls=['http://www.luyin.org/']#起始url rules=( #配置抓取列表页规则 Rule(LinkExtractor(allow=('ggwa/.*')),follow=True), #配置抓取内容页规则 Rule(LinkExtractor(allow=('post/\d+.html.*')),callback='parse_job',follow=True), ) defparse_job(self,response):#回调函数,注意:因为CrawlS模板的源码创建了parse回调函数,所以切记我们不能创建parse名称的函数 #利用ItemLoader类,加载items容器类填充数据 item_loader=LagouItemLoader(LagouItem(),response=response) item_loader.add_xpath('title','/html/head/title/text()') article_item=item_loader.load_item() yieldarticle_item items.py文件与爬虫文件的原理图 【转载自:http://www.lqkweb.com】

优秀的个人博客,低调大师

22、Python快速开发分布式搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别

转自: http://www.bdyss.cn http://www.swpan.cn 第一步。首先下载,大神者也的倒立文字验证码识别程序 下载地址:https://github.com/muchrooms/zheye 注意:此程序依赖以下模块包 Keras==2.0.1 Pillow==3.4.2 jupyter==1.0.0 matplotlib==1.5.3 numpy==1.12.1 scikit-learn==0.18.1 tensorflow==1.0.1 h5py==2.6.0 numpy-1.13.1+mkl 我们用豆瓣园来加速安以上依赖装如: pipinstall-ihttps://pypi.douban.com/simpleh5py==2.6.0 如果是win系统,可能存在安装失败的可能,如果那个包安装失败,就到 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到win对应的版本下载到本地安装,如: pipinstallh5py-2.7.0-cp35-cp35m-win_amd64.whl 第二步,将者也的,验证码识别程序的zheye文件夹放到工程目录里 第三步,爬虫实现 start_requests()方法,起始url函数,会替换start_urls Request()方法,get方式请求网页 url=字符串类型url headers=字典类型浏览器代理 meta=字典类型的数据,会传递给回调函数 callback=回调函数名称 scrapy.FormRequest()post方式提交数据 url=字符串类型url headers=字典类型浏览器代理 meta=字典类型的数据,会传递给回调函数 callback=回调函数名称 formdata=字典类型,要提交的数据字段 response.headers.getlist('Set-Cookie')获取响应Cookiesresponse.request.headers.getlist('Cookie')获取请求Cookies #-*-coding:utf-8-*- importscrapy fromscrapy.httpimportRequest,FormRequest importre classPachSpider(scrapy.Spider):#定义爬虫类,必须继承scrapy.Spider name='pach'#设置爬虫名称 allowed_domains=['zhihu.com']#爬取域名 #start_urls=['']#爬取网址,只适于不需要登录的请求,因为没法设置cookie等信息 header={'User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64;rv:54.0)Gecko/20100101Firefox/54.0'}#设置浏览器用户代理 defstart_requests(self):#起始url函数,会替换start_urls """第一次请求一下登录页面,设置开启cookie使其得到cookie,设置回调函数""" return[Request( url='https://www.zhihu.com/#signin', headers=self.header, meta={'cookiejar':1},#开启Cookies记录,将Cookies传给回调函数 callback=self.parse )] defparse(self,response): #响应Cookies Cookie1=response.headers.getlist('Set-Cookie')#查看一下响应Cookie,也就是第一次访问注册页面时后台写入浏览器的Cookie print('后台首次写入的响应Cookies:',Cookie1) #获取xsrf密串 xsrf=response.xpath('//input[@name="_xsrf"]/@value').extract()[0] print('获取xsrf密串:'+xsrf) #获取验证码 importtime t=str(int(time.time()*1000)) captcha_url='https://www.zhihu.com/captcha.gif?r={0}&type=login&lang=cn'.format(t)#构造验证码请求地址 yieldRequest(url=captcha_url,#请求验证码图片 headers=self.header, meta={'cookiejar':response.meta['cookiejar'],'xsrf':xsrf},#将Cookies和xsrf密串传给回调函数 callback=self.post_tj ) defpost_tj(self,response): withopen('yzhm.jpg','wb')asf:#打开图片句柄 f.write(response.body)#将验证码图片写入本地 f.close()#关闭句柄 #---------------------------者也验证码识别----------------------- fromzheyeimportzheye#导入者也倒立文字验证码识别模块对象 z=zheye()#实例化对象 positions=z.Recognize('yzhm.jpg')#将验证码本地路径传入Recognize方法识别,返回倒立图片的坐标 #print(positions)#默认倒立文字的y坐标在前,x坐标在后 #知乎网要求的倒立文字坐标是x轴在前,y轴在后,所以我们需要定义一个列表来改变默认的,倒立文字坐标位置 pos_arr=[] iflen(positions)==2: ifpositions[0][1]>positions[1][1]:#判断列表里第一个元祖里的第二个元素如果大于,第二个元祖里的第二个元素 pos_arr.append([positions[1][1],positions[1][0]]) pos_arr.append([positions[0][1],positions[0][0]]) else: pos_arr.append([positions[0][1],positions[0][0]]) pos_arr.append([positions[1][1],positions[1][0]]) else: pos_arr.append([positions[0][1],positions[0][0]]) print('处理后的验证码坐标',pos_arr) #-------------者也验证码识别结束-------- iflen(pos_arr)==2: data={#设置用户登录信息,对应抓包得到字段 '_xsrf':response.meta['xsrf'], 'password':'279819', 'captcha':'{"img_size":[200,44],"input_points":[[%.2f,%f],[%.2f,%f]]}'%( pos_arr[0][0]/2,pos_arr[0][1]/2,pos_arr[1][0]/2,pos_arr[1][1]/2),#因为验证码识别默认是400X88的尺寸所以要除以2 'captcha_type':'cn', 'phone_num':'15284816568' } else: data={#设置用户登录信息,对应抓包得到字段 '_xsrf':response.meta['xsrf'], 'password':'279819', 'captcha':'{"img_size":[200,44],"input_points":[[%.2f,%f]]}'%( pos_arr[0][0]/2,pos_arr[0][1]/2), 'captcha_type':'cn', 'phone_num':'15284816568' } print('登录提交数据',data) print('登录中....!') """第二次用表单post请求,携带Cookie、浏览器代理、用户登录信息,进行登录给Cookie授权""" return[scrapy.FormRequest( url='https://www.zhihu.com/login/phone_num',#真实post地址 meta={'cookiejar':response.meta['cookiejar']},#接收第传过来的Cookies headers=self.header, formdata=data, callback=self.next )] defnext(self,response): #请求Cookie Cookie2=response.request.headers.getlist('Cookie') print('登录时携带请求的Cookies:',Cookie2) jieg=response.body.decode("utf-8")#登录后可以查看一下登录响应信息 print('登录响应结果:',jieg) print('正在请需要登录才可以访问的页面....!') """登录后请求需要登录才能查看的页面,如个人中心,携带授权后的Cookie请求""" yieldRequest( url='https://www.zhihu.com/people/lin-gui-xiu-41/activities', headers=self.header, meta={'cookiejar':True}, callback=self.next2 ) defnext2(self,response): #请求Cookie Cookie3=response.request.headers.getlist('Cookie') print('查看需要登录才可以访问的页面携带Cookies:',Cookie3) leir=response.xpath('/html/head/title/text()').extract()#得到个人中心页面 print('最终内容',leir) #print(response.body.decode("utf-8")) 【转载自:http://www.lqkweb.com】

优秀的个人博客,低调大师

速来围观老司机快速排错--解决论坛迁移到proxmox超融合私有云平台后后部分功能不能使用的问题

问题描述 考虑到在山东移动机房租赁的物理服务器的存在单点,并时不时出现故障,导致业务停止,因此决定从物理服务器把某个老牌论坛迁移到可用性极高的proxmox超融合私有云平台。昨天夜里,兄弟们忙乎了一整夜,很是辛苦(我在11点对那些坏掉的文件系统进行修复,用screen仍在那里,自己睡觉去了)。 上午睡了个懒觉,还没清醒过来,有电话、qq消息过来了,说论坛页面能打开,详情页也没问题,但不能签到、发帖、发附件等。 催得厉害,赶紧进行处理。 运行环境 主要包括负载均衡及超融合私有云proxmox。负载均衡负责用户转发,使用的是公网ip;超融合私有云proxmox使用的是四个节点的物理服务器,运行30几个虚拟机。 域名解析到负载均衡的vip,haproxy负责把请求转发到proxmox上的指定的虚拟机。由于论坛容量不是很大(400G左右),就直接把论坛程序、附件及数据库部署在同一个虚拟机上(其它的应用,程序与数据库是分离的)。 基本思路 超融合私有云平台proxmox上的其它虚拟机及应用都是正常状态,因此可以排除底层架构的问题。 另外两个大的排查点就是负载均衡及论坛虚拟机本身。其他兄弟怀疑是负载均衡配置的问题,还发来了相关操作信息。 我一直强调,一定要先从后端真实提供服务的系统进行排查,真实服务提供者有问题,排查负载均衡有什么用处呢? 问题定位 登录系统,查看论坛的配置,主要是nginx及php。论坛页面可以打开,可以初步断定php没什么问题。 接下来,打开nginx配置看看,主配置文件有如下几行包含项: includevhosts/default.conf; includevhosts/bbs.formyz.net.conf; includevhosts/file.formyz.net.conf; includevhosts/net.formyz.net.conf; include vhosts/default.conf;include vhosts/bbs.formyz.net.conf;include vhosts/file.formyz.net.conf;include vhosts/net.formyz.net.conf; 对nginx进行语法检查,未发现异常。老办法,查nginx错误日志,很快有如下发现: FastCGIsentinstderr:"Primaryscriptunknown"whilereadingresponseheaderfromupstream FastCGI sentinstderr:"Primary script unknown"whilereading response header from upstream 心中有底了,一定是哪个包含文件配置上有问题。分别对这三个配置文件进行备份,然后挨个打开,发先有两个配置文件里,嵌套了包含项如下: root/data/html/bbs.formyz.net; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; includefastcgi.conf; root /data/html/bbs.formyz.net; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; 而另外一个配置文件里,嵌套的项确是这样的: root/data/html/bbs.formyz.net; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; includefastcgi_params; root /data/html/bbs.formyz.net; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; 再比较文件fastcgi.conf与文件fastcgi_params,不同之处如下: Fastcgi.conf fastcgi_params fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; 把不一致的嵌套包含,都改成include fastcgi.conf,重启nginx。绑定服务器的主机名及ip到本地的hosts文件,浏览器访问论坛,测试签到、发帖等,一切恢复正常!

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册