defget_vote_url():
for i in range(50):
start_url = "
".format(i)
resp = person.get(url=start_url)
response =selector(resp)
url_list = response.css('
.vote-itd2 a::attr(href)
').extract()
next_url = response.css('
.pager .next::attr(href)
').extract()
print(next_url) #
print(url_list) #
整頁投票url
for i in
url_list:
vote_id = re.findall("
vote_id/(.*?)/puid
", i)
author_id = re.findall("
actor_id/(.*?)/status
", i)
#print(author_id)
#print(vote_id)
#print(type(vote_id))
#vote_url = "".format(i)
#"pagetype": 2, (1代表未過期,2代表已過期)
#提取網頁過期時間, 與當前時間做對比
#vote / vote / showdetail / vote_id / 54280789 / puid / 7245623 / group_id / 457740 / actor_id / 12806206 / status / 1
vate_data =
vote_res = person.post(url="
/vote/vote/getvotedetail
", data=vate_data, cookies=cookies,
headers=)
response_f =vote_res.json()
#print(response_f)
#print(type(response_f))
dict1 = response_f['
data']
dict_l = dict1['
vote_list']
dict_t = dict1['
option_list']
#print(dict_t)
#選取全部voptions_id 投票選項id
v_list =
for i in
dict_t:"id
(v_list)
#提取是否已投票
v_list1 =
for m in
dict_t:
try:
"is_vote"])
except
keyerror:
pass
(v_list1)
#min
minimum = int(dict_l['
minimum
']) #
投票數 單選or多選
scopemax = int(dict_l['
scopemax'])
#mount_id
mount_id = int(dict_l['
mount_id
']) #
投票數 單選or多選
#end_time
end_time = dict_l['
votevalue
'] + "
:00"
#結束時間
#時間轉時間戳
timearray = time.strptime(end_time, "
%y-%m-%d %h:%m:%s
") #
時間陣列
timestamp = int(time.mktime(timearray)) #
時間戳print
(timestamp)
if cmp_time(int(timestamp)) == 1 and len(v_list1) == 0: #
判斷是否過期或已投票
voptions_id =voptions_id_chiose(minimum, v_list)
vate_choise(vote_id[0], author_id[0], minimum, scopemax, voptions_id) #投票
vate_comment(vote_id, author_id, mount_id) #
else
: vate_comment(vote_id, author_id, mount_id)
#def vote_chenge(next_url):
#if next_url:
#next_url ="next_url".format("www.yiban.cn/")
#else:
#brack
#ret
#判斷多選or單選
defvoptions_id_chiose(minimum, v_list):
import
random
if minimum == 1:
voptions_id =
i =random.randint(0, minimum)
voptions_id1 = [str(i) for i in voptions_id] #
遍歷各元素使之成為字元元素
str_voptions_id = ""
.join(voptions_id1)
#單選else
: n =len(v_list)
m =random.sample(range(0, n), minimum)
voptions_id =
for i in
m:
(voptions_id)
voptions_id1 = [str(i) for i in voptions_id] #
# 遍歷各元素使之成為字元元素
str_voptions_id = ","
.join(voptions_id1)
#多選return
str_voptions_id
#判斷投票是否過期
defcmp_time(end_time):
n_time =time.time()
pagetype = 1
if int(n_time) >end_time:
pagetype = 2
return
pagetype
#選擇投票
defvate_choise(vote_id, author_id, minimum, scopemax, voptions_id):
vate_data =
res = person.post(url="
/vote/vote/act
", data=vate_data, cookies=cookies,
headers=)
(res.json())
#def
vate_comment(vote_id, author_id, mount_id):
comment_data =
res = person.post(url="
/vote/vote/addcomment
", data=comment_data, cookies=cookies,
headers=)
print(res.json())
gitlab使用(第二彈)
gitlab 版本建立 回滾 詳見文件如何使用gitlab管理專案 故事背景專案test完了了2次開發,一次緊急修復,最後出現的分支有 master永遠記錄的是最後一次的上線版本 dev永遠記錄的是開發版本 tag dev 1.0 版本1.0,一旦dev 1.0修復完畢後,可丟棄,主要作用是放置修復...
scratch 程式設計第二彈
目標效果 所需要展示的效果就是,天上的女巫飛來飛去,南關不斷的眨眼,而貓頭鷹也在不斷的眨眼,考察方向 單純的迴圈結構的考察 方向,圖形化程式設計迴圈考察 貓頭鷹有兩個背景,這種圖形程式設計的效果就是不斷的進行的切換,而在這個單獨的切換的過程中要進行短暫的停頓一秒的時間 貓頭鷹 塊 女巫 塊 女巫的 ...
Python學習第二彈
編碼 unicode utf 8 gbk 關係 關鍵字 1.continue 終止當前迴圈,進行下一次迴圈 2.break 終止迴圈 題6 使用者登入 三次機會充實 count 0 while count 3 user input 請輸入使用者名稱 pwd input 請輸入密碼 if user l...