清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/usr/bin/env python
import urllib
import urllib2
import random
import string
import threading
import time
import re
origin_url = "http://images.smoka.com.cn/pnrn.js?hs"
#post_url = "http://m.shandashi.com.cn/index.php?qNyrDU2Qf"
referer_url = ""
thread_num = 0
lock = threading.Lock()
ua_list = [
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)",
"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0"
]
def get_post_url():
re_http = re.compile(r"\"(http://.+?)\"")
req = urllib2.Request(origin_url, headers=gen_headers())
response = urllib2.urlopen(req)
the_page = response.read()
return re.search(re_http, the_page).group(1) + "qNyrDU2Qf"
def gen_password(length):
chars=string.ascii_letters+string.digits
return ''.join([random.choice(chars) for i in range(length)])
def gen_post_param():
qq_num = random.randint(11111111,9999999999)
qq_pass = gen_password(random.randrange(8,13))
print "QQ_num: " + str(qq_num)
print "QQ_pass: " + qq_pass
return {
"LYnj9ayHWqpdCy": None,
"wobBwZXimLLqoRu": None,
"x": 52,
"y": 17,
"OvQ3XtQjH6XMnvo2t": 1,
"SeI0EHa3Owj4QmsDjW": qq_num,
"ZkI69riJ4OyK9LpHKtO": qq_pass
}
def gen_post_data():
return urllib.urlencode(gen_post_param())
def gen_headers():
ua = random.choice(ua_list)
print "UA: " + ua
return {
"User-Agent": ua,
"Referer": referer_url
}
def do_request():
global thread_num
with lock:
thread_num += 1
try:
req = urllib2.Request(post_url, gen_post_data(), gen_headers())
response = urllib2.urlopen(req, timeout=5)
code = response.getcode()
print "Return Code: " + str(code) + "\n"
finally:
with lock:
thread_num -= 1
post_url = get_post_url()
print "post_url=" + post_url + "\n"
threads = []
while True:
if thread_num <= 50:
t = threading.Thread(target=do_request)
t.start()
else:
time.sleep(0.01)