#! /usr/bin/env python
#coding=utf-8
import requests, json
database = [ "06_cn_mumayi_jd_com" ,
"1010wan_beihaiw_duowan" ,
"12306_cn" ,
"131_xiu_tianya" ,
"17173_com" ,
"212300_cxhr_zhaopin_com" ,
"212300_cxhr_zhaopin_copy" ,
"24buy_cd" ,
"51cto_com_new" ,
"51job_com" ,
"52pk_com" ,
"55_la" ,
"766_tuan800_wanmei_37" ,
"7k7k_com" ,
"admin5_apphan_07073_soyun" ,
"aipai_com" ,
"all_hack_website" ,
"av_creditcard_com_cn" ,
"ccidnet_lashou_com" ,
"cnnb_mop_qinbao_jiapin_qd315" ,
"cnzz_com" ,
"co188_com" ,
"csdn_net" ,
"damai_cn" ,
"dangdang_com" ,
"dodonew_com" ,
"gfan_com" ,
"hiapk_com" ,
"houdao_com" ,
"ipart_cn" ,
"jxjatv_073yx_moko_treo8_paojiao" ,
"jxrsrc_zhenai" ,
"kaixin001_com-ispeak_com" ,
"mail_126_com" ,
"mail_163_com" ,
"mail_qq_sina" ,
"mail_qq_sohu" ,
"pconline_com_cn" ,
"pingan_com" ,
"qiannao_dedecms_baofeng" ,
"qq_old_password" ,
"radius-qingdaonews_com" ,
"renren_com" ,
"seowhy_shooter-tatazu_book118_cs" ,
"sorry_unknown" ,
"sorry_unknown2" ,
"tgbus_com" ,
"tpy100_com-jia_com" ,
"uuu9_com" ,
"weibo_com" ,
"xda_comicdd_game" ,
"xiaohua_other" ,
"xiaomi_com"
]
class HxSec( ) :
def __init__ ( self ) :
self .s = requests.session ( )
r = self .s .get ( 'http://c...content-available-to-author-only...c.com/' )
def searchsafe( self , url, payload, headers) :
for i in range ( 0 , 10 ) :
try :
r = self .s .post ( url, data = payload, headers = headers)
info = r.content
return info
except Exception as e:
print e, payload
return None
'''
type: 1 名字邮箱, 2 名字, 3 邮箱
method: 1 模糊, 2 精确
返回元组或者None
'''
def search1( self , type , method, key, table) :
url = 'http://c...content-available-to-author-only...c.com/ajax.php?act=select'
headers = { 'X-Requested-With' : 'XMLHttpRequest' }
payload = { 'select_act' :type ,
'match_act' :method,
'key' :key,
'table' :table
}
info = self .searchsafe ( url, payload, headers)
p = info.find ( 'addRow(' )
if p == -1 :
return None
# 可能多行addRow(
info = info[ p:]
info = info.split ( 'addRow(' )
if len ( info) <= 1 :
return None
k1 = [ ]
for i in range ( 1 , len ( info) ) :
info1 = info[ i]
info1 = info1[ :-2 ]
info1 = info1.split ( ',' )
k = [ ]
for i in info1:
k.append ( i[ 1 :-1 ] )
k1.append ( k)
return k1
def search( self , type , method, key) :
r1 = [ ]
for i in database:
r = self .search1 ( type , method, key, i)
if r != None :
for r0 in r:
r1.append ( r0)
return r1
if __name__ == '__main__' :
hs = HxSec( )
r = hs.search ( 1 , 2 , 'fish13' )
print r# your code goes here
IyEgL3Vzci9iaW4vZW52IHB5dGhvbgojY29kaW5nPXV0Zi04CgppbXBvcnQgcmVxdWVzdHMsIGpzb24KCmRhdGFiYXNlID0gWyIwNl9jbl9tdW1heWlfamRfY29tIiwKIjEwMTB3YW5fYmVpaGFpd19kdW93YW4iLAoiMTIzMDZfY24iLAoiMTMxX3hpdV90aWFueWEiLAoiMTcxNzNfY29tIiwKIjIxMjMwMF9jeGhyX3poYW9waW5fY29tIiwKIjIxMjMwMF9jeGhyX3poYW9waW5fY29weSIsCiIyNGJ1eV9jZCIsCiI1MWN0b19jb21fbmV3IiwKIjUxam9iX2NvbSIsCiI1MnBrX2NvbSIsCiI1NV9sYSIsCiI3NjZfdHVhbjgwMF93YW5tZWlfMzciLAoiN2s3a19jb20iLAoiYWRtaW41X2FwcGhhbl8wNzA3M19zb3l1biIsCiJhaXBhaV9jb20iLAoiYWxsX2hhY2tfd2Vic2l0ZSIsCiJhdl9jcmVkaXRjYXJkX2NvbV9jbiIsCiJjY2lkbmV0X2xhc2hvdV9jb20iLAoiY25uYl9tb3BfcWluYmFvX2ppYXBpbl9xZDMxNSIsCiJjbnp6X2NvbSIsCiJjbzE4OF9jb20iLAoiY3Nkbl9uZXQiLAoiZGFtYWlfY24iLAoiZGFuZ2RhbmdfY29tIiwKImRvZG9uZXdfY29tIiwKImdmYW5fY29tIiwKImhpYXBrX2NvbSIsCiJob3VkYW9fY29tIiwKImlwYXJ0X2NuIiwKImp4amF0dl8wNzN5eF9tb2tvX3RyZW84X3Bhb2ppYW8iLAoianhyc3JjX3poZW5haSIsCiJrYWl4aW4wMDFfY29tLWlzcGVha19jb20iLAoibWFpbF8xMjZfY29tIiwKIm1haWxfMTYzX2NvbSIsCiJtYWlsX3FxX3NpbmEiLAoibWFpbF9xcV9zb2h1IiwKInBjb25saW5lX2NvbV9jbiIsCiJwaW5nYW5fY29tIiwKInFpYW5uYW9fZGVkZWNtc19iYW9mZW5nIiwKInFxX29sZF9wYXNzd29yZCIsCiJyYWRpdXMtcWluZ2Rhb25ld3NfY29tIiwKInJlbnJlbl9jb20iLAoic2Vvd2h5X3Nob290ZXItdGF0YXp1X2Jvb2sxMThfY3MiLAoic29ycnlfdW5rbm93biIsCiJzb3JyeV91bmtub3duMiIsCiJ0Z2J1c19jb20iLAoidHB5MTAwX2NvbS1qaWFfY29tIiwKInV1dTlfY29tIiwKIndlaWJvX2NvbSIsCiJ4ZGFfY29taWNkZF9nYW1lIiwKInhpYW9odWFfb3RoZXIiLAoieGlhb21pX2NvbSIKXQoKCmNsYXNzIEh4U2VjKCk6CiAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgc2VsZi5zID0gcmVxdWVzdHMuc2Vzc2lvbigpCiAgICAgICAgciA9IHNlbGYucy5nZXQoJ2h0dHA6Ly9jLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5jLmNvbS8nKQogICAgCiAgICBkZWYgc2VhcmNoc2FmZShzZWxmLCB1cmwsIHBheWxvYWQsIGhlYWRlcnMpOgogICAgICAgIGZvciBpIGluIHJhbmdlKDAsIDEwKToKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgciA9IHNlbGYucy5wb3N0KHVybCwgZGF0YSA9IHBheWxvYWQsIGhlYWRlcnMgPSBoZWFkZXJzKQogICAgICAgICAgICAgICAgaW5mbyA9IHIuY29udGVudAogICAgICAgICAgICAgICAgcmV0dXJuIGluZm8KICAgICAgICAgICAgCiAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgIHByaW50IGUsIHBheWxvYWQKICAgICAgICByZXR1cm4gTm9uZQogICAgICAgIAogICAgJycnCiAgICB0eXBlOiAxIOWQjeWtl+mCrueusSwgMiDlkI3lrZcsIDMg6YKu566xCiAgICBtZXRob2Q6IDEg5qih57OKLCAyIOeyvuehrgogICAg6L+U5Zue5YWD57uE5oiW6ICFTm9uZQogICAgJycnCiAgICBkZWYgc2VhcmNoMShzZWxmLCB0eXBlLCBtZXRob2QsIGtleSwgdGFibGUpOgogICAgICAgIHVybCA9ICdodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYy5jb20vYWpheC5waHA/YWN0PXNlbGVjdCcKICAgICAgICBoZWFkZXJzID0geydYLVJlcXVlc3RlZC1XaXRoJzogJ1hNTEh0dHBSZXF1ZXN0J30KICAgICAgICBwYXlsb2FkID0geydzZWxlY3RfYWN0Jzp0eXBlLAogICAgICAgICAgICAgICAgJ21hdGNoX2FjdCc6bWV0aG9kLAogICAgICAgICAgICAgICAgJ2tleSc6a2V5LAogICAgICAgICAgICAgICAgJ3RhYmxlJzp0YWJsZQogICAgICAgICAgICAgICAgfSAgICAgIAogICAgICAgIGluZm8gPSBzZWxmLnNlYXJjaHNhZmUodXJsLCBwYXlsb2FkLCBoZWFkZXJzKSAgICAgICAgCiAgICAgICAgcCA9IGluZm8uZmluZCgnYWRkUm93KCcpCiAgICAgICAgaWYgcCA9PSAtMToKICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAKICAgICAgICAjIOWPr+iDveWkmuihjGFkZFJvdygKICAgICAgICBpbmZvID0gaW5mb1twOl0KICAgICAgICBpbmZvID0gaW5mby5zcGxpdCgnYWRkUm93KCcpCiAgICAgICAgaWYgbGVuKGluZm8pIDw9IDE6CiAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgCiAgICAgICAgazEgPSBbXQogICAgICAgIGZvciBpIGluIHJhbmdlKDEsIGxlbihpbmZvKSk6CiAgICAgICAgICAgIGluZm8xID0gaW5mb1tpXQogICAgICAgICAgICBpbmZvMSA9IGluZm8xWzotMl0KICAgICAgICAgICAgaW5mbzEgPSBpbmZvMS5zcGxpdCgnLCcpCiAgICAgICAgICAgIGsgPSBbXQogICAgICAgICAgICBmb3IgaSBpbiBpbmZvMToKICAgICAgICAgICAgICAgIGsuYXBwZW5kKGlbMTotMV0pCiAgICAgICAgICAgIGsxLmFwcGVuZChrKQogICAgICAgIHJldHVybiBrMQogICAgICAgIAogICAgZGVmIHNlYXJjaChzZWxmLCB0eXBlLCBtZXRob2QsIGtleSk6CiAgICAgICAgcjEgPSBbXQogICAgICAgIGZvciBpIGluIGRhdGFiYXNlOgogICAgICAgICAgICByID0gc2VsZi5zZWFyY2gxKHR5cGUsIG1ldGhvZCwga2V5LCBpKQogICAgICAgICAgICBpZiByICE9IE5vbmU6CiAgICAgICAgICAgICAgICBmb3IgcjAgaW4gcjoKICAgICAgICAgICAgICAgICAgICByMS5hcHBlbmQocjApCiAgICAgICAgcmV0dXJuIHIxCiAgICAgICAgCmlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICBocyA9IEh4U2VjKCkgICAgICAgIAogICAgciA9IGhzLnNlYXJjaCgxLCAyLCAnZmlzaDEzJykKICAgIHByaW50IHIjIHlvdXIgY29kZSBnb2VzIGhlcmU=