代理ip提取免费代理ip提取网站


代理ip提取免费代理ip提取网站

config模块用来配置程序信息打印级别和打印位置你只需要在该位置的config函数中指定参数然后在别的模块中这样调用:

database模块用来提供存储数据库操作,包括:添加到数据库、从数据库中获取和删除操作,你只需要这样调用:

UA模块用来提供网络请求头,主要是UA和referer,该模块用来模拟不同的浏览器请求头,这样调用:

ProxyIP模块是程序的核心模块,包含了两个类,Crawl类用来抓取IP,使用多线程模式抓取,Validation类用来校验IP,其中multiple_filter函数用来从all_ip_table中筛选有效IP,而multiple_validation用来从ip_table中定时校验IP,无效删除,启用该模块即可运行抓取和校验进程,用法:

首先需要到提供代理IP的网站去抓取代理IP,使用的网站已经列举在文章开头。这里涉及两个主要内容:去网站上请求网页,然后解析网页获取IP地址。请求网页使用requests库,最简单的请求方式为:

若返回正确,则可进行网页解析。网页解析使用BeautifulSoup库,Python3和Windows10环境下使用pip3命令安装:

接下来需要把IP地址储存到数据库中,方便使用,储存用到的数据库是SQLite,基本操作包括:

然后需要对数据进行校验。包括从抓取到的IP中进行筛选有效IP和对有效IP进行定期校验,校验用到的网址为:/get校验的思路就是用获得的IP构造代理IP,使用随机请求头取访问该网址,如果访问正常,说明该IP有效,则添加到数据库中,校验函数:

注意:从网站上获取到的IP有的是非高匿的(虽然用了代理,但是网站仍能够知道你的真实IP),因而还需要校验IP地址是否高匿,方法非常简单,因为抓取的时候保存了此信息,只需要判断一下即可:

接下来就是一些琐碎的处理,包括信息打印,异常处理等等。另外,上面给出的代码都是核心语句,并不是完整代码,完整代码请到github下载,地址:/yooongchun/ProxyIP。