Skip to content

使用Python抓取Shadowsocks账号 #106

Open
@v5tech

Description

@v5tech

前奏

pip install requests
pip install beautifulsoup4
pip install lxml
pip install html5lib

fq.py

import requests
from bs4 import BeautifulSoup
import sys
import logging
reload(sys)
sys.setdefaultencoding('utf-8')

if sys.version_info[:3] < (2, 7, 9):
    logging.captureWarnings(True)

r = requests.Session()
header = {
    'Host':'www.ss-link.com',
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36',
    'Cookie':'yundunReferer=http%3A//blog.ss-link.com/archives/27; webpy_session_id=bc761f76d866de5d28e6317eba34996efc6bc2ac'
}
res = r.get('https://www.ss-link.com/my/free',headers = header)
soup = BeautifulSoup(res.text,'html.parser')
table = soup.find('tbody')
file = open('fq.txt','wb')
for row in table.findAll('tr'):
    cells = row.findAll("td")
    sevname = cells[0].find(text=True)
    server = cells[1].find(text=True)
    port = cells[2].find(text=True)
    pwd = cells[3].find(text=True)
    ser = cells[4].find(text=True)
    file.write(sevname+"\t"+server+"\t"+port+"\t"+pwd+"\t"+ser+"\n")
file.close()

结果:

美国拉斯维加斯VW线路   76.164.197.155  9980    65310662    aes-256-cfb
美国拉斯维加斯VW线路   72.46.135.119   9980    65310662    aes-256-cfb
美国硅谷T2线路    173.252.220.201 9980    65310662    aes-256-cfb
美国洛杉矶GR线路 104.250.143.243 9980    65310662    aes-256-cfb
美国洛杉矶GR线路 104.250.146.37  9980    65310662    aes-256-cfb
美国洛杉矶GR线路 104.250.146.212 9980    65310662    aes-256-cfb
美国洛杉矶GR线路 104.250.144.10  9980    65310662    aes-256-cfb
美国洛杉矶GR线路 104.250.147.22  9980    65310662    aes-256-cfb

fq.py

# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import re
import codecs
import sys
import logging
reload(sys)
sys.setdefaultencoding('utf-8')

# 设置日志级别
if sys.version_info[:3] < (2, 7, 9):
    logging.captureWarnings(True)

# 获取数据
def getData():
    r = requests.Session()
    header = {
        'Host':'www.ss-link.com',
        'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36',
        'Cookie':'yundunReferer=http%3A//blog.ss-link.com/archives/27; webpy_session_id=ef8d1722114f3934686f1b99d58874d4b30d10ee'
    }
    res = r.get('https://www.ss-link.com/my/free',headers = header)
    soup = BeautifulSoup(res.text,'html.parser')
    table = soup.find('tbody')
    passwd = ''
    for row in table.findAll('tr'):
        cells = row.findAll("td")
        pwd = cells[3].find(text=True)
    passwd = pwd
    return passwd

# 写文件
def writefile(passwd):
    file = codecs.open('gui-config.json','w+','utf-8')
    line = '''{
"configs" : [
  {
"server" : "173.252.220.201",
"server_port" : 9980,
"password" : "21624209",
"method" : "aes-256-cfb",
"remarks" : "美国硅谷T2线路"}
,
  {
"server" : "76.164.197.155",
"server_port" : 9980,
"password" : "21624209",
"method" : "aes-256-cfb",
"remarks" : "美国拉斯维加斯VW线路"}
,
  {
"server" : "72.46.135.119",
"server_port" : 9980,
"password" : "21624209",
"method" : "aes-256-cfb",
"remarks" : "美国拉斯维加斯VW线路"}

],
"strategy" : null,
"index" : 0,
"global" : false,
"enabled" : false,
"shareOverLan" : false,
"isDefault" : false,
"localPort" : 1080,
"pacUrl" : null,
"useOnlinePac" : false}'''
    str = re.sub('"password" : "\d+"','"password" : "'+passwd+'"',line)
    file.write(str.decode('utf-8'))
    file.close()

writefile(getData())

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions