文档章节

python 爬虫 抓取shadowsocks vpn 地址

zhailibao
 zhailibao
发布于 2015/11/10 15:24
字数 198
阅读 711
收藏 3
#encoding=utf8
__author__ = 'zhailb'
'''
auto get vpn host from http://www.ishadowsocks.com/ ,write json config file
20160115 密码为空情况: (?P<password>.*?)  '''
import json
import urllib
import re
gui_config = "E:\\tools\Shadowsocks-win-2.3.1\gui-config.json"
def write_config(cfg_file, vpns):
    fp = file(cfg_file)
    cfg = json.load(fp)
    fp.close()
    del cfg['configs'][:]
    for vpn in vpns:
        vpn_dict={}
        vpn_dict['server']=vpn['server']
        vpn_dict['server_port']=vpn['server_port']
        vpn_dict['password']=vpn['password']
        vpn_dict['method']=vpn['method']
        vpn_dict['remarks']=u''
        cfg['configs'].append(vpn_dict)
    with open(cfg_file,'w') as f:
        json.dump(cfg,f)

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getvpn(html):
    vpns = []
    reg = r"<h4>.+?服务器地址:(?P<server>.+?)</h4>.+?<h4>端口:(?P<server_port>.+?)</h4>.+?<h4>.+?密码:(?P<password>.*?)</h4>.+?<h4>加密方式:(?P<method>.+?)</h4>.+?<h4>状态:(?P<status>.+?)</h4>"
    vpn_arr =  [m.groupdict() for m in re.finditer(reg, html,re.S)]
    for vpn in vpn_arr:
        if vpn.has_key("status"):
            if re.search('green',vpn['status']):
               vpns.append(vpn)
    return vpns

if __name__ == '__main__':
    html = getHtml("http://www.ishadowsocks.com/")
    vpns = getvpn(html)
    write_config(gui_config, vpns)

© 著作权归作者所有

共有 人打赏支持
zhailibao
粉丝 3
博文 39
码字总数 11831
作品 0
东城
系统管理员
私信 提问
python模块介绍-shadowsocks:穿越防火墙的快速隧道代理(实现自由冲浪)

Shadowsocks 是一个安全的socks5代理,用于保护网络流量,是一个开源项目。 由于Shadowsocks使用socks5协议和可自定义密码的工业级算法加密,使得流量在网络传输过程中不易被他人读取。但是使...

磁针石
2015/06/09
0
0
烂泥:aws搭建shadowsocks服务器

本文由秀依林枫提供友情赞助,首发于烂泥行天下 前段时间一直在忙openvpn的事情,现在手头有台aws服务器,打算利用起来。 如何利用呢?利用这台服务器进行科学上网,实际需求如下。 一、实际...

烂泥行天下
2015/08/08
0
0
用SS+Privoxy+树莓派让Node爬虫科学上网

前言 之前一直想要做一个feed读取器,并利用feed获取的链接去抓取资讯全文。然而有一些feed需要科学上网才能获取,这就让我萌生了:如何让Node科学上网来进行爬虫抓取。 查阅了资料发现,Nod...

尺子先生
2017/05/01
0
0
Centos下Shadowsocks多用户后端Manyuser后台运行

Shadowsocks开机自动启动并后台运行 vi /etc/rc.local 用vi编辑器添加以下内容(先按键盘Ins键,切换到编辑模式): cd /root/shadowsocks/shadowsocks screen -dmS Shadowsocks python serv...

刘语彤
2015/08/08
0
0
aws搭建shadowsocks服务器

前段时间一直在忙open***的事情,现在手头有台aws服务器,打算利用起来。 如何利用呢?利用这台服务器进行科学上网,实际需求如下。 一、实际需求 在国内搜索技术文章,如果使用baidu的话,你...

wenhuifu
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[Spring4.x]基于spring4.x纯注解的Web工程搭建

在前文中已经说明了如何基于 Spring4.x+ 版本开发纯注解的非web项目,链接如下: https://my.oschina.net/morpheusWB/blog/2985600 本文则主要说明,如何在Web项目中,"基于spring纯注解方式...

morpheusWB
9分钟前
0
0
基础编程题目集-7-13 日K蜡烛图

股票价格涨跌趋势,常用蜡烛图技术中的K线图来表示,分为按日的日K线、按周的周K线、按月的月K线等。以日K线为例,每天股票价格从开盘到收盘走完一天,对应一根蜡烛小图,要表示四个价格:开...

niithub
25分钟前
0
0
Jenkins window 下的安装使用

1.下载:https://jenkins.io/download/ 双击安装完毕,将自动打开浏览器: http://localhost:8080 打开对应位置的文件,将初始密钥粘贴至输入框。 第一个是 安装默认的软件;第二个是 自定义...

狼王黄师傅
27分钟前
1
0
深入解析react关于事件绑定this的四种方式

这篇文章主要介绍了详解react关于事件绑定this的四种方式,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 在react组件中,每个方...

前端攻城小牛
35分钟前
1
0
JS正则表达式

url的正则表达式:包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息 `function` `IsURL(str_url) {``var` `strRegex =``"^((https|http|ftp|rtsp|mm...

前端小攻略
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部