文档章节

python 爬虫 抓取shadowsocks vpn 地址

zhailibao
 zhailibao
发布于 2015/11/10 15:24
字数 198
阅读 668
收藏 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
东城
系统管理员
用SS+Privoxy+树莓派让Node爬虫科学上网

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

尺子先生
2017/05/01
0
0
python模块介绍-shadowsocks:穿越防火墙的快速隧道代理(实现自由冲浪)

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

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

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

烂泥行天下
2015/08/08
0
0
ubuntu14 下安装 shadowsocks

shadowsocks 的项目主页: https://github.com/clowwindy/shadowsocks 首先你要有一台墙外的 VPS,我的是 Ubuntu 系统。shadowsocks 要求 Python 2.6 最好 2.7。 python –version Python 2.......

无头骑士
2015/01/12
0
0
aws搭建shadowsocks服务器

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

wenhuifu
06/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux使用ntfs-3g操作ntfs格式硬盘

Linux内核目前只支持对微软NTFS文件系统的读取。 NTFS-3G 是微软 NTFS 文件系统的一个开源实现,同时支持读和写。NTFS-3G 开发者使用 FUSE 文件系统来辅助开发,同时对可移植性有益。 安装 ...

linuxprobe16
今天
1
0
kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
7
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
3
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
18
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部