@property 在前面装饰器一章中,提过一句话,装饰器也可以用于类中,确实可以的,并且python的类也内置了一部分装饰器.并且在前两章的hasattr等四个内置方法中,也说过其用法很类似装饰器,到底在类中可以用装饰器不呢?还有具体有哪些内置的装饰器呢?还记得property吗?之前有个例子里,在类里定义好方法后,再用property就可以通过属性设置属性 先看一个普通的类 当我们设置property属性后: 但其实你发现了,其实使用property与否并没有什么两样的,目前确实是这样,在前…
编码 这篇博文的主题是,编码问题,老生常谈的问题了对吧?从我这一套的文章来看,前面已经提到好多次编码问题了,的确这个确实很重要,这可是难道了很多能人异士的,当你以为你学懂了,在研究爬虫时你发现你错了,还是没搞懂,爬虫研究完后,你以为你懂了,url编码又把你打回原形,然后你以为你真的懂了,你学到socket的时候,你发现,你还是没有真的理解,真实气人啊,对吧 与编码问题相关的都在这两篇博文中: 洗礼灵魂,修炼python(3)--从一个简单的print代码揭露编码问题,运行原理和语法习惯 洗礼灵魂…
feedparser模块 1.简介 feedparser是一个Python的Feed解析库,可以处理RSS ,CDF,Atom .使用它我们可从任何 RSS 或 Atom 订阅源得到标题.链接和文章的条目了. RSS(Really Simple Syndication,简易信息聚合):是一种描述和同步网站内容的格式你可以认为是一种定制个性化推送信息的服务.RSS 是用于分发 Web 站点上的内容的摘要的一种简单的 XML 格式它能够解决你漫无目的的浏览网页的问题.它的信息越是过剩,它的意义也越加…
前面已经介绍了Python+Selenium基础篇,通过前面几篇文章的介绍和练习,Selenium+Python的webUI自动化测试算是入门了.接下来,我计划写第二个系列:练习篇,通过一些练习,了解和掌握一些Selenium常用的接口或者方法. 练习场景:在某一个网页上有些字段是我们感兴趣的,我们希望摘取出来,进行其他操作.但是这些字段可能在一个网页的不同地方.例如,我们需要在关于百度页面-联系我们,摘取全部的邮箱. 思路拆分: 1. 首先,需要得到当前页面的source内容,就像,打开一个页…
Python人工智能第一篇:语音合成和语音识别 ​ 此篇是人工智能应用的重点,只用现成的技术不做底层算法,也是让初级程序员快速进入人工智能行业的捷径.目前市面上主流的AI技术提供公司有很多,比如百度,阿里,腾讯,主做语音的科大讯飞,做只能问答的图灵机器人等等.这些公司投入了很大一部分财力物力人力将底层封装,提供应用接口给我们,尤其是百度,完全免费的接口.既然百度这么仗义,咱们就不要浪费掉怎么好的资源,从百度AI入手,开启人工智能之旅 开启人工智能技术的大门 : http://ai.baidu.c…
Python人工智能第二篇:人脸检测和图像识别 人脸检测 详细内容请看技术文档:https://ai.baidu.com/docs#/Face-Python-SDK/top from aip import AipFace import base64 """ 你的 APPID AK SK """ APP_ID = '你的 App ID' API_KEY = '你的 Api Key' SECRET_KEY = '你的 Secret Key' face…
在了解完了 Python函数基础篇之后,本篇的存在其实是为了整合知识,由于该篇的知识是否杂乱,故大家可以通过点开点连接直接进入其详细介绍,该篇主要大致的介绍一下几个知识点:  一.Python的迭代器和生成器 二.Python的内置函数 三.Python的open函数之文件处理 四.Python的递归函数 五.Python的高阶函数 六.Python的装饰器 一.Python的迭代器和生成器: 本篇我们介绍可迭代对象和迭代器对象--包括两者的定义及区别.为什么要有迭代器对象,其的用法是怎么样的…
上篇我们讲到pip的安装以及普通库用pip的安装方法 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 拓展篇​zhuanlan.zhihu.com 问题纷沓而至:Tk/Tcl不存在!! 程序猿(媛):嗯···让(sha diao)用户用黑乎乎一片命令行工具似乎不太妥当 还是界面来的方(wu)便(nao)!试一下tkinter! emmm???? 程序猿(媛)的表情是这样的: [请不要质疑我哪来的这么多汪星人的表情,我可是代码汪!] 赶紧去查一下如何安装T…
上篇我们讲到embedded版本的基础操作 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 惊喜篇​zhuanlan.zhihu.com 可是却没有办法用pip安装必要的库 去看一下官方文档怎么说的 version of python do not supports pip​docs.python.org 嗯...不支持 不光如此,Tcl/tk也是不给你滴... 可是谁甘心只用标准库敲代码?卒都不知道怎么卒的··· 关键是他,,,他掉头发呀 程序猿(媛)…
上篇讲到 pyinstaller打包exe太大的问题 CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄学 前提篇​zhuanlan.zhihu.com 那既然pyinstaller这么麻(nan)烦(yong) 那为什么不找一种方法代替它呢? 经过多方面打听,一位道上的盆友告诉了我一个惊天大秘密 python有embedded版本 当我看完了官方的文档以后...我的表情是这样的 惊喜&惊喜&惊喜&惊喜 像发现了新大陆一样 python37的em…
Python+Selenium中级篇之8-Python自定义封装一个简单的Log类: https://blog.csdn.net/u011541946/article/details/70198676…
<python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利用Python语言进行程序开发的知识和技巧,包括 Python的安装和环境配置.Python的基本语法.模块和函数.内置数据结构.字符串和文件的处理.正则表达式的使用.异常的捕获和处理.面向对象的语言特性和设计.Python的数据库编程.wxPython库的使用.HTML应用.XML应用.Django网页开发…
第7.25节 Python案例详解:使用property函数定义与实例变量同名的属性会怎样? 一.    案例说明 我们上节提到了,使用property函数定义的属性不要与类内已经定义的普通实例变量重名,如果是重名会发生什么呢?本案例通过这个例子一是说明重名可能产生的后果,也想说明property定义属性在类内访问会遇到什么情况. 为了直接说明问题,本案例还是以上节的Rectangle为例,不过去掉了大部分属性和方法,只留下了可以说明问题的必要代码. 二.    案例代码 1.    定义类,类…
第7.24节 Python案例详解:使用property函数定义属性简化属性访问代码实现 一.    案例说明 本节将通过一个案例介绍怎么使用property定义快捷的属性访问.案例中使用Rectangle类: 1.    在类内定义了两个私有属性长度和宽度self.__length.self.__width: 2.    定义了这两个属性的get方法getLen.getWidth: 3.    定义了一次返回这两个属性的get方法getSize,返回一个由长度和宽带值组成的元组,并为了跟踪执行…
本次项目相当于对python基础做总结,常用语法,数组类型,函数,文本操作等等 本项目在博客园里其他开发者也做过,我是稍作修改来的,大体没变的 项目需求: 信用卡+商城: A.信用卡(类似白条/花呗) 1.额度15000以上或者自定义2.可以提现,手续费5%3.账户信息,信用卡和购物车共用4.支持账户间转账5.支持购物结账功能6.有还款功能7.记录每月日常消费流水8.每个重要步骤都要记录到日志文件里(用logging模块)9.有管理员功能,添加账户,冻结账户,调整用户额度(可选)10.每月19号…
题外话: 前面学了那么多,相信你已经对python很了解了,对爬虫也很有见解了,然后本来的计划是这样的:(请忽略编号和日期,这个是不定数,我在更博会随时改的) 上面截图的是我的草稿 然后当我开始写博文的时候,我发现讲解PhantomJS的话,会涉及到JS代码,而相信跟着我的学习路线从小白上来的,应该都还没学过JS吧,说到JS,那么和Phantom很像的一个模块casperjs,也要跟着提点下,那么还要从JS开始讲解 然后说到PyQuery,其又几乎和JQuery差不多,又要提下JQuery 接着…
首先你得学会基本的mysql操作语句:mysql学习 其次,python要想操作mysql,靠python的内置模块是不行的,而如果通过os模块调用cmd命令虽然原理上是可以的,但是还是不太方便,那么这个问题,很早就有人想过了,而且还做出来了,不废话,就是第三方模块pymysql和mysqldb了. 但是,python3暂不支持mysqldb,pymysql却是python2和3都支持的 所以,本篇博文说说pymysql,学了pymysql,mysqldb其实你也会了 pymysql 1.安装…
线程(上) 1.线程含义:一段指令集,也就是一个执行某个程序的代码.不管你执行的是什么,代码量少与多,都会重新翻译为一段指令集.可以理解为轻量级进程 比如,ipconfig,或者, python   XX.py(执行某个py程序),这些都是指令集和,也就是各自都是一个线程. 2.线程的特性: 线程之间可以相互通信,数据共享 线程并不等同于进程 线程有一定局限性 线程的速度由CPU和GIL决定. GIL,GIL全称Global Interpreter Lock,全局解释锁,此处暂且不谈,再下面该出…
由于本篇博文的项目都很简单,所以本次开个特例,本次解析两个项目,但是都很简单的 项目一:用socket实现文件传输 本项目很简单,作为小项目的预热的,前面刚学完socket,这里马上又利用socket进行项目开发,难不倒各位 项目要求: 1.用socket完成文件上传功能 2.文件位置可以设置 3.传输协议可以为get,和post 4.路径存放位置可以设置 5.服务端实现多用户连接,客户端随意 要求就这么简单,好久没有这么简单的操作了吧? 不多说,直接来. 程序结构: settings.py:…
学习本篇文章的前提,你需要了解网络技术基础,请参阅我的另一个分类的博文:网络互联技术(4)——计算机网络常识.原理剖析 网络通信要素 1.IP地址: 用来标识网络上一台独立的终端(PC或者主机) ip地址 = 网络地址+主机地址(网络号:用于主机所在的网络/网段:主机号:用于识别该网络中的主机) 特殊的ip地址:127.0.0.1(本地环回地址),可用于检测本机网卡是否正常 比如我这台电脑的ip: 检测网卡正常与否就可以ping 环回地址: 如果ping通,本地网卡就没问题 2.端口号: 用于标…
要求: 1.在上一篇的地址管理系统的基础上做升级改动 2.添加增删改的功能 3.尽量的贴近生活常识中的地址管理 分析: 需求不用多说了,干就完了 相关文件源码地址:github 这次由于要有增删改的操作,所以需要一个数据库文件存储数据,china_map.txt {'吉林': {'长春': {'朝阳区': {}, '南关区': {}, '宽城区': {}, '二道区': {}, '绿园区': {}, '双阳区': {}, '德惠市': {}, '九台市': {}, '榆树市': {}, '农安县…
Xpath,lxml模块用法 转载的原因和前面的一样,我写的没别人写的好,所以我也不浪费时间了,直接转载这位崔庆才大佬的 原帖链接:传送门 以下为转载内容: -------------------------------------------------------------------------------------------------------------------------------- 参考来源 lxml用法源自 lxml python 官方文档,更多内容请直接参阅官方…
在前面的某一篇中,说完了pickle,但我相信好多朋友都不懂到底有什么用,那么到了爬虫篇,它就大有用处了,而和pickle很相似的就是JSON模块 JSON 1.简介 1)JSON(JavaScript Object Notation) ,js对象标记,是一种轻量级的数据交换格式.它易于阅读和编写,同时也易于机器解析和生成.它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集,…
题外话: 爬虫学到这里,我想你大部分的网站已经不再话下了对吧?有检测报文头的,我们可以伪造报文头为浏览器,有检测IP,我们可以用代理IP,有检测请求速度的,我们可以用time模块停顿一下,需要登录验证的,我们可以用cookielib模块搞定登录,HTML标签嵌套太多层的,我们可以用BeautifulSoup轻松取出来,等等方法,反正反爬虫机制怎么样,我们基本都有方法解决. 很厉害对吧?别得意忘形了,还有些反爬虫机制,网页是JS动态加载的,或者AJAX异步加载的,还有动态验证码验证的等等的,这些机…
学完前面的教程,相信你已经能爬取大部分的网站信息了,但是当你爬的网站多了,你应该会发现一个新问题,有的网站需要登录账户才能看到更多的信息对吧?那么这种网站怎么爬取呢?这些登录数据就是今天要说的——cookie cookie 其实在前面在解析requests模块时也提到过的. Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密),比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.这也是放爬虫的一种手段,但是…
说明一下,这个标题可能有点突兀,结合上一篇一起看就行 前面已经对BeautifulSoup有了了解了,相信你基本已经学会怎么获取网页数据了,那么BeautifulSoup这么吊,还有没有其他的功能呢?当然是有的 前面说的Tag对象都还记得吧?像这样BeautifulSoup.title,得到的就是Tag对象,它其实还有一些属性: 1.contents:将tag的子节点以列表的方式输出 还是前面的例子: # -*- coding:utf-8 -*- import bs4 html=''' <htm…
前面解析了正则表达式,其实内容还挺多的对吧?确实挺适用的,不仅是python,其他语言或者web前端后端基本都要掌握正则表达式知识,但是你说,这么多,要完全的掌握,灵活运用的话,得搞多久啊?并且如果一次匹配稍有差池,一步错,步步错,并且很多朋友相信其实还不太熟练正则表达式,咋办呢?有没有什么可以替代正则表达式呢?哎,有的,那就是——BeautifulSoup. BeautifulSoup 1.简介 官方文档的解释是: “Beautiful Soup提供一些简单的.python式的函数用来处理导航…
前面学习了元家军以及其他的字符匹配方法,那得会用啊对吧?本篇博文就简单的解析怎么运用 正则表达式使用 前面说了正则表达式的知识点,本篇博文就是针对常用的正则表达式进行举例解析.相信你知道要用正则表达式的话,得导入re模块 1.re模块方法/属性 2.re模块常用方法/属性(正则表达式举例使用) re模块的匹配数据的相关方法一般就这四个:search,match,findall,compile search(string[, pos[, endpos]]) 1.简介 官方文档说的很直白,像我等屌丝…
爬虫篇前面的某一章了,我们要爬取网站页面源代码的数据,要从中获取到我们想要的数据,是不是感觉很费力,确实费力对吧?那么有没有什么有利的工具来解决这个问题呢?那就是这一篇博文的主题—— 正则表达式简介 1.概念理解 正则表达式(Regular expressions 也称为 REs,或 regexes 或 regex patterns)本质上是一个微小的且高度专业化的编程语言.正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配.使用正则表达式,你需要指定一些规则来描述…
requests 1.简介 Requests 是用Python语言编写的第三方库,所以你需要pip安装,安装过程就略过了.它基于urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便实用,功能强大,可以节约我们大量的工作,满足一般的HTTP 测试需求.最重要的是,它支持 Python3 2.方法/属性 3.常用方法/属性解析 既然requests基于urllib,那么和前面几篇博文一样了,不用太多的介绍方法,直接从实例中解析常用方法吧. 本来…