import re
import random
import sys
import time
import datetime
import threading
from random
import choice
import requests
import bs4
defget_ip
():
"""獲取**ip"""
url =
""headers =
r = requests.get(url,headers=headers)
soup = bs4.beautifulsoup(r.text,
'html.parser')
data = soup.table.find_all(
"td")
ip_compile= re.compile(
r'(\d+\.\d+\.\d+\.\d+)')
# 匹配ip
port_compile = re.compile(
r'(\d+)')
# 匹配埠
ip = re.findall(ip_compile,str(data))
# 獲取所有ip
port = re.findall(port_compile,str(data))
# 獲取所有埠
return [
":".join(i)
for i
in zip(ip,port)]
# 組合ip+埠,如:115.112.88.23:8080
# 設定 user-agent列表,每次請求時,可在此列表中隨機挑選乙個user-agnet
"""投票
如果因為**ip不可用造成投票失敗,則會自動換乙個**ip後繼續投
"""try:
ip = choice(ips)
except:
return
false
else:
proxies =
headers2 =
try:
num = random.uniform(
0,1)
hz_url =
"" % num
# 某投票**的位址,這裡不用真實的網域名稱
hz_r = requests.get(hz_url,headers=headers2,proxies=proxies)
except requests.exceptions.connectionerror:
"connectionerror"
ifnot ips:
"not ip"
sys.exit()
# 刪除不可用的**ip
if ip
in ips:
ips.remove(ip)
# 重新請求url
get_url(code,ips)
else:
date = datetime.datetime.now().strftime(
'%h:%m:%s')
u"第%s次 [%s] [%s]:投票%s (剩餘可用**ip數:%s)" % (code,date,ip,hz_r.text,len(ips))
ips =
for i
in xrange(
6000):
# 每隔1000次重新獲取一次最新的**ip,每次可獲取最新的100個**ip
if i %
1000 ==
0:ips.extend(get_ip())
# 啟用執行緒,隔1秒產生乙個執行緒,可控制時間加快投票速度 ,time.sleep的最小單位是毫秒
t1 = threading.thread(target=get_url,args=(i,ips))
t1.start()
time.sleep(
1)
城鄉投票原始碼php 乙個簡單的PHP投票程式原始碼
乙個簡單的php投票程式原始碼 分析 我們利用乙個檔案 data.dat 來儲存投票欄目.每個欄目佔據一行.這樣一來,便可隨意加入和減去想要投票的欄目.我們再利用乙個檔案 votes.dat 來儲存我們的投票結果.並紀錄最近一位投票者的ip位址,簡單的防止一人多投.所以,您應該在該程式目錄下自行建立...
城鄉投票原始碼php 乙個簡單的PHP投票程式原始碼
乙個簡單的php投票程式原始碼 2021 01 23 10 04 50721 分析 我們利用乙個檔案 data.dat 來儲存投票欄目.每個欄目佔據一行.這樣一來,便可隨意加入和減去想要投票的欄目.我們再利用乙個檔案 votes.dat 來儲存我們的投票結果.並紀錄最近一位投票者的ip位址,簡單的防...
簡單的自動投票
最近喜歡上了wz,就經常去wz吧逛,發現有很多關於zwz的投票活動。老實講我倒是對投票本身沒啥興趣,主要是看到自己喜歡的明星那名次排在後面就很鬱悶,於是我也就加入了投票這場戰鬥。可是我還有其他的事要做啊,實在是扛不住跟其他小孩那樣沒日沒夜的刷票。於是在球的提議下開始分析那個頁面的原始碼,看能不能弄成...