16515<!>wkview.js,wkview.css,page.js,page.css,page_help.css<!>0<!>6590<!>0<!><!bool><!><div id="wk_history_wrap"> <div class="wk_history_title tb_title" id="wk_history_title"> _</div> <div class="wk_history_tabs tb_tabs_wrap"> <div class="tb_tabs clear_fix" id="wk_history_tabs"><div class="progress tb_prg fl_r" id="wk_history_tabs_prg"></div><div class="fl_l summary_tab_sel"> <a class="summary_tab2" onclick="showWiki({w: 'history<dialog_id>_photo'})" > <div class="summary_tab3"> <nobr></nobr> </div> </a> </div><div class="fl_l summary_tab"> <a class="summary_tab2" onclick="showWiki({w: 'history<dialog_id>_video'})" > <div class="summary_tab3"> <nobr></nobr> </div> </a> </div><div class="fl_l summary_tab"> <a class="summary_tab2" onclick="showWiki({w: 'history<dialog_id>_audio'})" > <div class="summary_tab3"> <nobr></nobr> </div> </a> </div><div class="fl_l summary_tab"> <a class="summary_tab2" onclick="showWiki({w: 'history<dialog_id>_doc'})" > <div class="summary_tab3"> <nobr></nobr> </div> </a> </div></div> <div class="tb_tabs_sh" id="wk_history_tabs_sh"></div> </div> <div class="wall_module wide_wall_module" id="wk_history_wall"> <div class="post_media" id="wk_history_rows"><div class="page_post_sized_thumbs clear_fix" style="width: 597px; height: 1722px;"><a onclick="return showPhoto('...', 'mail...', {"temp":{"base":"/","x_":["",500,331]},queue: 1}, event);" style="width: 193px; height: 127px;" class="page_post_thumb_wrap fl_l"><img src="" width="193" height="128" style="margin-top: 0px;" class="page_post_thumb_sized_photo" /></a> ... ( )</div></div> </div> <div id="wk_history_empty" style=""> .</div> <div id="wk_history_more" class=""> <div id="wk_history_more_link" onclick="return WkView.historyShowMore();" style=""> </div> <div id="wk_history_more_progress" class="progress"></div> </div> </div><!><!json>{"count":"23318","offset":3330,"type":"history","commonClass":"wk_history_content wk_history_photo_content","wkRaw":"history<dialog_id>_photo","canEdit":false,"lang":[]}<!>WkView.historyInit();<!><!pageview_candidate>
# coding=utf-8 import requests # import re # import sys # import os # import urllib # import json # json # argv[1] = remixsid_cookie # argv[2] = dialog_id # argv[3] = person_name
remixsid_cookie = sys.argv[1] # RequestData = { "act": "show", "al": 1, "loc":"im", "w": "history" + sys.argv[2] + "_photo", "offset" : 0, "part" : 1 } request_href = "http://vk.com/wkview.php" # offset count. Count bound = {"count" : 10000, "offset" : 0}
try: os.mkdir("drop_" + sys.argv[3]) # except OSError: print " 'drop_" + sys.argv[3] + "'" if( os.path.exists("drop_" + sys.argv[3]) ): os.chdir("drop_" + sys.argv[3]) # else: print " \n" exit()
test = open("links", "w") while( bound['offset'] < bound['count'] ): RequestData['offset'] = bound['offset'] content = requests.post(request_href, cookies={"remixsid": remixsid_cookie}, params=RequestData).text # post params . .text . .
# json_data_offset = re.compile('\{"count":.+?,"offset":.+?\}').search(content) # .search . span(), bound = json.loads(content[json_data_offset.span()[0]:json_data_offset.span()[1]]) # json bound['count'] = int(bound['count']) #count bound['offset'] = int(bound['offset']) # , . " "
links = re.compile('src="http://.+?"').findall(content)
for st in links: test.write(st[5:len(st)-1] + '\n') # , src="..." test.close()
urllib.urlretrieve(, )
test = open("links", "r") file_num = 0 for href in test: # , urllib.urlretrieve(href, str(file_num)) # file_num += 1 print " " + str(file_num) + " \n" test.close()
if( sys.argv[1] == '--help' ): print """ Usage: python main.py <remixsid_cookie> <dialog_id> <name_of_folder> <dialog_id> is a string parameter "sel" in address line which you see when open a dialog """ exit() else: if( len(sys.argv) < 4 ): print """ Invalid number of arguments. Use parameter --help to know more """ exit()
Source: https://habr.com/ru/post/244647/
All Articles