03 2018 档案
摘要:1、贴出主要代码。这个不是python,python只涉及了服务端对信息提取结果的接受。主体是java + android + js。由于淘宝各模块都是二级子域名,不能只在一个页面完成所有请求,ajax不能跨域。需要加载不同的页面。以下是主要部分。js内容使用服务端分发。 这样做好处,即使不使用微服
阅读全文
摘要:1、开始使用这个包时候不习惯,觉得api用起来很别扭,不管是Request okhttpClient formBody只要是设置啥,就必须使用类里面的Builder类,然后一个方法接受一个参数,不停地调用每一个方法来接受一个参数进行属性设置,之前的py requests都是一个方法接受完各种参数就了
阅读全文
摘要:1、在py中requests.post()和get()函数都是在那个函数内部里面自动生成了一个Session类的实例,所以requests,post和get函数要想干登陆后才能干的事情,需要添加cookie或者把cookie写在headers里面,要想自动管理cookie,就不能每次请求都实例化一个
阅读全文
摘要:向webview注入网络上的js,就需要请求js的url。但不允许在主线程直接发http请求,需要开子线程,开了子线程后,子线程就自己运行,主线程也自己运行,但是我的主线程需要子线程的结果才能继续往下操作,不然没有意义。我这个不适合网络请求回调,如下是一种简单的解决方式。 就是把请求结果绑定到成员变
阅读全文
摘要:java的httpclient和okhttp请求网络,构造一个基本的post get请求,都比py的requests步骤多很多,也比py的自带包urllib麻烦些。 先封装成get post工具类,工具类即是静态方法的类,比较通用,无需new一个对象。和py的@staticmethod方法一样。但如
阅读全文
摘要:学信网的登录有验证码,是那种计算数字或者汉字识别的,很难识别。最近连学籍信息和学历信息也换成图片了,常规的正则 css xpath都不能使。 下载图片,需要先登录,获取登陆后的cookie和学籍信息的图片url。这一步由webview获得,用户自行登录,不需要理会验证码。 使用okhttp。需要导入
阅读全文
摘要:介绍模块和类怎么互相转换,不谈面向对象的继承 封装 多态等特点。 一个person_module模块,有人的基本属性和功能。 person_module.py如下 现在假如这个模块是别人写的,我们拿来用,现在我们要把名字换成小红,眼睛颜色换成黑色,年龄换成15岁,成长函数,一次增加两岁 那我们就需要
阅读全文
摘要:https://uac.10010.com/portal/homeLogin 设置联通页面放大 切换到短信验证码方式,隐藏元素 设置成这样 设置京东页面
阅读全文
摘要:设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式一般是针对java语言而言,一般的主推面向过程的j
阅读全文
摘要:模板方法模式:定义一个工作流或算法的基本骨架,而将一些特定步骤的实现延迟到子类中。 模板方法模式是面向对象编程实践中最容易总结出来的模式,即使一开始不知道什么叫设计模式,可能经常都已经用到了这种模式: 实现代理ip采集,可能一开始只写xici代理提取,但是后来又写yaoyao代理提取。 但两个类,只
阅读全文
摘要:策略模式(Strategy pattern)鼓励使用多种算法来解决一个问题,其杀手级特性是能够在运行时透明地切换算法(客户端代码对变化无感知)。因此,如果你有两种算法,并且知道其中一种对少量输入效果更好,另一种对大量输入效果更好,则可以使用策略模式在运行时基于输入数据决定使用哪种算法 看以看到策略模
阅读全文
摘要:在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。 在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。
阅读全文
摘要:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 有时,我们希望在一个对象的状态改变时更新另外一组对象。 1、发布者中有个方法添加所有观察(订阅)者对象,当发布某个东西(例子中的data变化
阅读全文
摘要:解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 对每个应用来说,至少有以下两种不同的用户分类。 基本用户:这类用户只希望能够凭直觉使用
阅读全文
摘要:命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 现在多数应用都有撤销操作。虽然难以想象,但在很多年里,任何软件中确实都不存在撤销操作
阅读全文
摘要:顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它
阅读全文
摘要:在某些应用中,我们想要在访问某个对象之前执行一个或多个重要的操作,例如,访问敏感信息——在允许用户访问敏感信息之前,我们希望确保用户具备足够的权限。操作系统中也存在类似的情况,用户必须具有管理员权限才能在系统中安装新程序。上面提到的重要操作不一定与安全问题相关。延迟初始化是另一个案例:我们想要把一个
阅读全文
摘要:MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图) - 视图代表模型包含的数据的可视化。 C
阅读全文
摘要:享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个
阅读全文
摘要:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 A B C的关系是他们
阅读全文
摘要:无论何时我们想对一个对象添加额外的功能,都有下面这些不同的可选方法。 如果合理,可以直接将功能添加到对象所属的类(例如,添加一个新的方法) 使用组合 使用继承与继承相比,通常应该优先选择组合,因为继承使得代码更难复用,继承关系是静态的,并且应用于整个类以及这个类的所有实例(请参考[GOF95,
阅读全文
摘要:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入
阅读全文
摘要:有时,我们需要原原本本地为对象创建一个副本。举例来说,假设你想创建一个应用来存储、分享、编辑(比如,修改、添加注释及删除)食谱。用户Bob找到一份蛋糕食谱,在做了一些改变后,觉得自己做的蛋糕非常美味,想要与朋友Alice分享这个食谱。但是该如何分享食谱呢?如果在与Alice分享之后,Bob想对食谱做
阅读全文
摘要:java23种设计模式之一,英文叫Builder Pattern。其核心思想是将一个“复杂对象的构建算法”与它的“部件及组装方式”分离,使得构件算法和组装方式可以独立应对变化;复用同样的构建算法可以创建不同的表示,不同的构建过程可以复用相同的部件组装方式。 看代码先从main函数看起,不是从上往下一
阅读全文
摘要:抽象工厂 工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对的多个产品等级结构。 猫类和狗类的公用方法必须是speak(),不能让猫类的方法名是miaomiao() ,狗类的方法叫wangwang(),把它当鸭子类,在java是用实现接口来规范。py没有接口。
阅读全文
摘要:提示这个 InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certai
阅读全文
摘要:以下是菜鸟教程列举的。这些零散的改变需要注意。 下面这些东西可能平时的程序根本没用到,或者稍加注意就可以了。但2和3最主要的区别是,掌握编码。 编码在所有程序中无处不在,处理不好,要么乱码,要么编码解码报错。掌握好了编码的区别,就可以掌握2和3的90%的区别了,也只有掌握这个才能自如的切换版本。 关
阅读全文
摘要:(1, 5) (2, 5) (2, 7) (3, 8) (9, 2)
阅读全文