-
2020-04-13 12:35:26
我梳理了一下,整理成下表给大家参考,也比较好记忆,回归之前六条,回归之后六条:
检查回归方程的有效性 回归分析之前 1 对y进行正态分布的检验,如果y不服从正态分布,则需要进行变换。 2 通过相关性分析,判断x与y的相关性,如果不相关,则不需要纳入此x到方程中。 3 通过相关性分析,判断x与x之间的相关性,相关的x不能出现在同一个方程中。 4 通过散点图,观察是否是直线关系。如果非直线相关,则进行变换。 5 通过箱线图识别x或y的离群点,这些离群点的发生是小概率事件,没有代表性应该删除。 6 通过散点图,识别趋势的离群点,这些离群点显著影响了总体趋势,可以删除,并非必须,具体情况具体分析。 回归分析之后 7 F检验:确保整体方程有效。P<=0.05说明模型中至少有一个X对Y有显著的影响关系。 8 t检验:确保每个系数都有效。P<=0.05说明这个x对y有显著性影响关系。 9 残差分析:残差独立,残差服从正态分布,残差均值为0,等方差。 10 R-sq代表y的波动有多少比例能被x的波动描述。当x个数较多时,调整后的R-sq比R更为准确,调整后R-sq>=0.5拟和效果较好, 有实际使用价值。否则,没有实际使用价值,预测区间太宽。 11 离群点识别:有个别值对整个方程的趋势有显著影响,可以修正。这是对上边第6条的补充。 12 多重共线性检测:如果方差膨胀因子VIF>5,则认为存在多重共线性。这是对上边第3条的补充。 更多相关内容 -
煤炭检验检测机构监控结果有效性的管理方法探索
2020-04-17 19:14:08为了有效地提高煤炭检验检测结果的准确性以及促进检验检测机构的有效管理, 针对我国煤炭检验检测机构现状进行分析并提出煤炭检验检测机构监控结果有效性的管理方法。研究结果表明: 煤炭的供方和需方基本上均设置了... -
网址有效性检测.exe
2020-04-29 21:07:42网址链接有效性检测器 可为网络营销者检测大量的网址信息是否有效!提高了工作效率,大大减少了工作时间。网址提取器_网址搜索_数据采集,较佳伴侣!...网址链接有效性检查检测器是时下互联网常用的软件之一 -
如何检查Access数据库中数据有效性
2020-03-03 23:51:23开发一个好的数据库管理系统,关键是要确保录入数据的完整性和准确性。Access提供了很多检查录入数据有效性的手段,本文简单介绍了利用字段属性和使用事件过程检查数据有效性。 -
网址链接有效性批量检测工具使用教程
2020-04-02 20:44:14一般我们会一个一个打开网址查看是不是有效,这种方法对十几个网址还行,如果1000个怎么办,为了解决这个问题,我们开发一款可以批量检测网址有效的软件,即通过读取状态码,判断网址是不是还可以打开。首先我们打开...当我们有很多网址,但是不知道里面是不是有些网址已经失效。这种情况下怎么办?一般我们会一个一个打开网址查看是不是有效,这种方法对十几个网址还行,如果1000个怎么办,为了解决这个问题,我们开发一款可以批量检测网址有效的软件,即通过读取状态码,判断网址是不是还可以打开。首先我们打开软件看看截图
使用步骤:
第一步:选择网址文件,有多种导入方式,比如TXT拖拽粘贴、选择导入等方法,如果存在乱码,请到菜单栏去将ANSI改为UTF-8导入,关注微信公众号未来自主研究中心可以获取软件,授权使用
第二步:如果想加快检测,我们可以去重网址,这样可以不用检测重复的网址
第三步:点击开始检测,静静等待检测完成
软件具有优点:
1、可以导出TXT或者EXCEL格式
2、采用多线程技术,可以并行高速检测
3、软件可以人性化设计,可以全屏、拉伸操作
4、更多优点请观看官方提供的视频教程
-
鑫河批量验证邮箱地址有效性工具 v5.11.25.5.zip
2019-07-17 10:53:49鑫河批量验证邮箱地址有效性工具是由鑫河软件开发的专业好用的验证邮箱地址有效性工具。 鑫河软件的批量验证邮箱地址工具功能 一、本软件可以实现检查以下网络协议:SMTP、MIME、POP3、FTP、WhoIs、DNS、ICMP 和 ... -
物品不同特性结果关联性探讨
2020-07-10 14:13:43从列举几类物品检测存在的不同特性结果的关联性入手,...以此强化质检机构的实验室内部质量控制,确保检测结果的准确、可靠和有效,并应用其重要关联性去指导产品研发,为规范实验室内部质量控制方式与结果评价提供了参考。 -
代理IP 有效性检测
2019-02-26 16:07:11代理IP 有效性检测分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
摘要
昨天下午的时候,真的是无语至极。本以为CSDN上博友们应都是与人为善类型的。没想到都博客专家级别的了,出口竟是如此不堪。难道请教问题就得是一副高高在上,别人必须给你解决问题,给你代码吗?
对于此类人,我不做过多评价。我只会在心里默默说一句,好自为之吧。希望此后永远不会有交集!
言归正传,写爬虫的时候。难免会使用代理IP技术。于Python中调用代理IP实则是一件轻松的事,但是有一个不大不小的问题,那就是代理IP的有效性。
往往做爬虫的时候会事先爬取很多的代理ip作为备用,但是有些可能还用,有些可能就失效了。所以程序会因此变得不甚稳定。于是在爬虫运行之前,保证代理IP的高可用性,是有一定的必要的。
今日,就来做这么一件“清洗”工作。
原理
当然,测试代理IP有效性的方法有很多。我想到的无非也就其中一种,不具权威性,仅供参考罢了。
我个人认为,测试代理IP有效性还是得从服务器端下手,毕竟代理IP是要去访问真正的服务器端的。所以在服务器端进行验证最合适不过了。服务器端验证完毕之后,将结果返回给客户端,如此“清洗”工作就可以据此完成。保留有效的代理IP,去除失效的代理IP。
接下来,按部就班的实现就行了。
服务器端
服务器端使用什么语言都是可以的,我这里正好有php环境,自然选择了PHP了。
$_SERVER
$_SERVER
变量中包含了客户端来访的全部信息,所以仅仅需要把相关的部分剖取出来就够了。脚本
<?phpecho "Client IP:".$_SERVER['REMOTE_ADDR'];
- 1
- 2
是不是足够简单。
不过为了接下来客户端“清洗”方便,我们仅仅把客户端IP输出就行了。这样免得客户端在进行字符串分割处理。
<?phpecho $_SERVER['REMOTE_ADDR'];
- 1
- 2
简单的测试一下:
此时,仅仅使用浏览器作为客户端,所以没用到代理IP。可见,服务器端搭建依然成功了。接下来就是在客户端进行验证了。
客户端
客户端这块,毕竟爬虫使用Python的还是比较多的,而且对我自己而言,Python也顺手,所以就是用Python好了。
在我印象中,涉及到代理部分的库以urllib2和requests最为常见。下面简单的贴下代码。
urllib2
在urllib2中使用的代理IP分为http类型和https类型,需要分别处理一下。
- http类型:
proxy=urllib2.ProxyHandler({'http': '代理IP'})opener=urllib2.build_opener(proxy)urllib2.install_opener(opener)
- 1
- 2
- 3
- https类型:
proxy=urllib2.ProxyHandler({'https': '代理IP'})opener=urllib2.build_opener(proxy)urllib2.install_opener(opener)
- 1
- 2
- 3
- 4
- 5
requests
相比之下,requests 就更为方便了。不管是http类型还是https类型都是兼容的。统统放到一个字典内说明即可。
#coding: utf8import requestsproxies = { "http": "115.231.105.109:8081", "http": "101.230.214.25:8080", "https": "218.29.111.106:9999", }result = requests.get('http://101.200.58.242/temp/proxytest.php', proxies=proxies)print result.content
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
完整代码
# coding: utf8import requests# 本机IPlocalip = "111.117.112.164"# 待清洗代理IP数据池proxies = [ {"http": "115.231.105.109:8081" }, {"http": "218.76.106.78:3128" }, {"http": "183.185.0.18:9797"}, {"https": "218.29.111.106:9999" }, ]# 有效代理IP池proxypool = []# 清洗代理IP,去除无效的代理IPfor index in range(len(proxies)): print proxies[index] try: result = requests.get('http://101.200.58.242/temp/proxytest.php', proxies=proxies[index]) except Exception as e: continue # 与本机IP对比,相等则说明没用到代理IP,为无效项 if result.content != localip: proxypool.append(proxies[index])print proxypool
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
这样就可以简单的测试出代理IP的有效性了。当然效率确实不够高,有必要的话使用多线程来进行加速也是可以的。
演示
提示
在演示之前,我觉得还是有必要啰嗦一下的。
在做爬虫的时候,不管是公司内还是学校里。大部分都是在局域网内,这样获取本机的IP就需要动点心思了。当然,现在网络上资源很多,各种获取本机IP的接口。随便处理一下就可以了。如一开始我那样直接用浏览器访问自己的服务器来测试也是可以的。
下面介绍一个最常用的。直接在浏览器上输入ip。
然后就可以使用这个本机IP作为过滤条件来进行清理工作了。当然了,这一步还可以更加的智能化,继续写点代码来完成,我在这就权当是抛砖引玉吧。博友有需要的话知道有这么个思路就行了。
清洗效果
最后来看看测试的效果吧,我是在网上随便找了个网站,直接手动复制的几个代理IP(代码中有记录)。然后直接测了一下,发现还不错,有三个是能用的。
总结
最后回顾一下,本次试验代码量很少。但是思路还是蛮清晰的。实现起来也比较简单。
需要注意的是这个测试需要有服务器的支持,否则在本地localhost的时候代理IP不能有效的工作。
最后,还是觉得:
做事之前还是先学会做人的好。
社会上不是每一个人都能淡然面对他人的无礼的,总会有让你后悔的那天。与君共勉。
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
-
Effective-Java 检查参数有效性
2020-06-10 09:37:0949. 检查参数有效性 本章(第 8 章)讨论了方法设计的几个方面:如何处理参数和返回值,如何设计方法签名以及如何记载方法文档。 本章中的大部分内容适用于构造方法和其他普通方法。 与第 4 章一样,本章重点关注...49. 检查参数有效性
本章(第 8 章)讨论了方法设计的几个方面:如何处理参数和返回值,如何设计方法签名以及如何记载方法文档。 本章中的大部分内容适用于构造方法和其他普通方法。 与第 4 章一样,本章重点关注可用性,健壮性和灵活性上。
大多数方法和构造方法对可以将哪些值传递到其对应参数中有一些限制。 例如,索引值必须是非负数,对象引用必须为非
null
。 你应该清楚地在文档中记载所有这些限制,并在方法主体的开头用检查来强制执行。 应该尝试在错误发生后尽快检测到错误,这是一般原则的特殊情况。 如果不这样做,则不太可能检测到错误,并且一旦检测到错误就更难确定错误的来源。如果将无效参数值传递给方法,并且该方法在执行之前检查其参数,则它抛出适当的异常然后快速且清楚地以失败结束。 如果该方法无法检查其参数,可能会发生一些事情。 在处理过程中,该方法可能会出现令人困惑的异常。 更糟糕的是,该方法可以正常返回,但默默地计算错误的结果。 最糟糕的是,该方法可以正常返回但是将某个对象置于受损状态,在将来某个未确定的时间在代码中的某些不相关点处导致错误。 换句话说,验证参数失败可能导致违反故障原子性(failure atomicity)(详见第 76 条)。
对于公共方法和受保护方法,请使用 Java 文档
@throws
注解来记在在违反参数值限制时将引发的异常(条目 74)。 通常,生成的异常是IllegalArgumentException
,IndexOutOfBoundsException
或NullPointerException
(条目 72)。 一旦记录了对方法参数的限制,并且记录了违反这些限制时将引发的异常,那么强制执行这些限制就很简单了。 这是一个典型的例子:/** * Returns a BigInteger whose value is (this mod m). This method * differs from the remainder method in that it always returns a * non-negative BigInteger. * * @param m the modulus, which must be positive * @return this mod m * @throws ArithmeticException if m is less than or equal to 0 */ public BigInteger mod(BigInteger m) { if (m.signum() <= 0) throw new ArithmeticException("Modulus <= 0: " + m); ... // Do the computation }
请注意,文档注释没有说「如果 m 为 null,mod 抛出
NullPointerException
」,尽管该方法正是这样做的,这是调用m.sgn()
的副产品。这个异常记载在类级别文档注释中,用于包含的BigInteger
类。类级别的注释应用于类的所有公共方法中的所有参数。这是避免在每个方法上分别记录每个NullPointerException
的好方法。它可以与@Nullable
或类似的注释结合使用,以表明某个特定参数可能为空,但这种做法不是标准的,为此使用了多个注解。在 Java 7 中添加的
Objects.requireNonNull 方
法灵活方便,因此没有理由再手动执行空值检查。 如果愿意,可以指定自定义异常详细消息。 该方法返回其输入的值,因此可以在使用值的同时执行空检查:// Inline use of Java's null-checking facility this.strategy = Objects.requireNonNull(strategy, "strategy");
你也可以忽略返回值,并使用
Objects.requireNonNull
作为满足需求的独立空值检查。在 Java 9 中,
java.util.Objects
类中添加了范围检查工具。 此工具包含三个方法:checkFromIndexSize
,checkFromToIndex
和checkIndex
。 此工具不如空检查方法灵活。 它不允许指定自己的异常详细消息,它仅用于列表和数组索引。 它不处理闭合范围(包含两个端点)。 但如果它能满足你的需要,那就很方便了。对于未导出的方法,作为包的作者,控制调用方法的环境,这样就可以并且应该确保只传入有效的参数值。因此,非公共方法可以使用断言检查其参数,如下所示:
// Private helper function for a recursive sort private static void sort(long a[], int offset, int length) { assert a != null; assert offset >= 0 && offset <= a.length; assert length >= 0 && length <= a.length - offset; ... // Do the computation }
本质上,这些断言声称断言条件将成立,无论其客户端如何使用封闭包。与普通的有效性检查不同,断言如果失败会抛出
AssertionError
。与普通的有效性检查不同的是,除非使用-ea
(或者-enableassertions)标记传递给 java 命令来启用它们,否则它们不会产生任何效果,本质上也不会产生任何成本。有关断言的更多信息,请参阅教程assert。检查方法中未使用但存储以供以后使用的参数的有效性尤为重要。例如,考虑第 101 页上的静态工厂方法,它接受一个 int 数组并返回数组的 List 视图。如果客户端传入 null,该方法将抛出
NullPointerException
,因为该方法具有显式检查 (调用Objects.requireNonNull
方法)。如果省略了该检查,则该方法将返回对新创建的List
实例的引用,该实例将在客户端尝试使用它时立即抛出NullPointerException
。 到那时,List 实例的来源可能很难确定,这可能会使调试任务大大复杂化。构造方法是这个原则的一个特例,你应该检查要存储起来供以后使用的参数的有效性。检查构造方法参数的有效性对于防止构造对象违反类不变性(class invariants)非常重要。
你应该在执行计算之前显式检查方法的参数,但这一规则也有例外。 一个重要的例外是有效性检查昂贵或不切实际的情况,并且在进行计算的过程中隐式执行检查。 例如,考虑一种对对象列表进行排序的方法,例如
Collections.sort(List)
。 列表中的所有对象必须是可相互比较的。 在对列表进行排序的过程中,列表中的每个对象都将与其他对象进行比较。 如果对象不可相互比较,则某些比较操作抛出ClassCastException
异常,这正是sort
方法应该执行的操作。 因此,提前检查列表中的元素是否具有可比性是没有意义的。 但请注意,不加选择地依赖隐式有效性检查会导致失败原子性(failure atomicity)的丢失(详见第 76 条)。有时,计算会隐式执行必需的有效性检查,但如果检查失败则会抛出错误的异常。 换句话说,计算由于无效参数值而自然抛出的异常与文档记录方法抛出的异常不匹配。 在这些情况下,你应该使用条目 73 中描述的异常翻译(exception translation)习惯用法将自然异常转换为正确的异常。
不要从本条目中推断出对参数的任意限制都是一件好事。 相反,你应该设计一些方法,使其尽可能通用。 假设方法可以对它接受的所有参数值做一些合理的操作,那么对参数的限制越少越好。 但是,通常情况下,某些限制是正在实现的抽象所固有的。
总而言之,每次编写方法或构造方法时,都应该考虑对其参数存在哪些限制。 应该记在这些限制,并在方法体的开头使用显式检查来强制执行这些限制。 养成这样做的习惯很重要。 在第一次有效性检查失败时,它所需要的少量工作将会得到对应的回报。
-
Python3 检测网址(url)有效性,并将报告结果保存到CSV
2018-05-12 00:36:22Python3 检测网址(url)有效性,并将报告结果保存到CSV # @author: huangyanli # @date : 2018-05-11 23:45:00 # @QQ : 339600718 # @Email : 339600718@qq.com # 检测网址的有效性,并打印报告结果。 from ... -
python批量实现百度网盘链接有效性检测
2020-05-12 18:52:47python批量实现百度网盘链接有效性检测 (一)初始数据样式 将百度网盘连接存放到 采用逗号间隔的UTF-8类型csv 文件中,数据存放格式为资源名 | 链接 | 密码,如下图所示: 逗号间隔的UTF-8类型csv 文件可以采用... -
使用python批量检查url的有效性
2014-11-22 15:50:11之前用python写了一些校验url有效性的小脚本,但并不全面,健壮性较差以及脚本实现 -
使用JS判断日期的有效性
2019-12-05 22:54:43将输入的字符串直接转化为Date对象,并根据是否转化后的对象是否有效及重新拼接后是否和原来相同判断有效性。 function judgeDate(date){ var pDate = new Date(date); if(isNaN(pDate.getTime())){ return... -
数据库数据连接有效性检测
2018-09-20 13:44:49想要增加对连接池中连接的测试/验证,防止数据库认为连接已死而Web应用服务器认为连接还有效的问题,到底是使用testQuery还是validationQuery取决于连接池的的实现: 连接池类型 该功能属性名 The Tomcat JDBC ... -
python检查路径有效性
2018-08-18 20:36:26os.path 模块提供了一些函数,用于检测给定的路径是否存在,以及它是文件还是文件夹。 • 如果 path 参数所指的文件或文件夹存在,调用 os.path.exists(path)将返回 True,否则返回 False。 • 如果 path 参数存在,... -
证书有效性验证、根证书
2019-03-29 15:37:10一、 数字证书的有效性验证主要从三个方面: (1)数字证书有效期验证 (2)根证书验证 (3)CRL验证 1、数字证书有效期验证 就是说证书的使用时间要在起始时间和结束时间之内。通过解析证书很容易得到证书的... -
Python中如何检测IP代理的有效性
2019-03-19 14:31:01https://blog.csdn.net/qq_42330464/article/details/80553718 def getValidIp(): try: url_ip = 'http://webapi.http.zhimacangku.com/getip?num=1&type=2&pro=&city=0&yys=... -
POI设置Excel下拉列表(数据有效性验证)
2019-12-12 15:10:06* @Description: 添加数据有效性检查(下拉列表) * @param firstRow 开始行 * @param lastRow 结束行 * @param firstCol 开始列 * @param lastCol 结束列 * @param explicitListValues 有效性检查的下拉列表 *... -
科学研究设计六:有效性威胁
2017-11-18 08:46:51内部有效性和外部有效性 -
设置excel中数据有效性不被复制黏贴破坏
2019-03-18 15:43:18位置在第" & rng.Row & "行,第" & getColumnName(rng.column) & "列,请仔细检查" MsgBox prompt:=msg, Title:="输入提示" Exit For End If Next End Sub Private Function getColumnName(column As Integer) As ... -
统计学中的有效性和可靠性的概念
2021-07-31 16:06:46有效性何可靠性,还是很容易混淆的,要区别: 比如左边的是有效的;右边的就是无效的了。 可靠性,说的是多次检测,结果都偏向一致。 举个例子: 在上面这个图中,可以看的很清楚了 ... -
自动检测数据库连接的有效性
2016-03-21 19:07:07使用c3p0连接池,设置如下: #是否检测连接的有效性 testConnectionOnCheckin=true #检测连接有效性的时间间隔(86400s=24h) idleConnectionTestPeriod=86400 -
批量检测百度云分享链接有效性方法
2019-11-17 09:23:26百度云网盘分享的链接经常会发生链接失效的问题,链接很多又不想一个个打开查看,如何实时批量检测百度网盘分享链接的有效性是个麻烦。下面具体介绍如何实现批量检测百度云盘分享链接是否有效及失效具体原因的步骤。... -
aur报错(错误:一个或多个文件没有通过有效性检查)
2020-01-15 16:44:55错误: 一个或多个文件没有通过有效性检查! Error downloading sources: deepin-wine-wechat 我们从yay或者pamac等aur助手里安装某个软件常常会因为签名检查验证无法通过而安装失败,这种情况也常常出现,尤其是... -
聚类有效性指标(CVI)
2020-06-21 16:29:56文章目录1.定义:2.聚类评估方法介绍(一)...聚类有效性指标(Cluster Validity Index,CVI):用于度量聚类的效果。 详细介绍wiki:http://www.turingfinance.com/clustering-countries-real-gdp-growth-part2/#quali -
量化交易 第十四课 单因子有效性分析之 IC 分析
2021-03-20 06:54:04单因子有效性分析之 IC 分析. -
代理ip最新识别方法及代理ip有效性检测方法
2018-12-28 14:01:16网络营销时代,网络成为企业营销的重要工具。线上有非常多的营销渠道可以利用。当然方法也就越来越多:自媒体、... 代理ip最新识别方法以及代理ip有效性检测方法 一、代理ip常见的一些功能 1.突破自身ip访问限... -
真正验证一个邮件地址的有效性
2019-01-12 10:11:15一个邮件地址是否有效关系一定程度上决定了这个用户是否是优质用户,或者说成为优质用户的潜质更大...本文验证一个邮件地址有效性的内容包含以下几个内容: 最常规的正则表达式的匹配 邮件的 DNS 有效性 检验 MX 记...