blog

pythonコレクションバケットマップラ(マルチスレッド)

インポート\nリクエストをインポートします。\nfrom import\nimport os; from import\nインポート...

Oct 28, 2020 · 2 min. read
シェア
import concurrent
import requests;
from concurrent.futures import ThreadPoolExecutor
import os;
import parsel;
def send_request(url):
 header = {
 "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36'
 }
 requests.packages.urllib3.disable_warnings()
 response = requests.get(url,headers=header)
 return response
def pare_data(data):
 selector = parsel.Selector(data)
 result_list = selector.xpath('//a[@class="col-xs-6 col-sm-3"]')
 for result in result_list:
 title = result.xpath('./img/@alt').get()
 src_url = result.xpath('./img/@data-original'). get()
 all_title = title+'.'+src_url.split('.')[-1]
 yield all_title,src_url
def save_data(file_name,data):
 dir_name = 'doutu_list'
 if not os.path.exists(dir_name):
 os.mkdir(dir_name)
 with open(dir_name+'/'+file_name,'wb') as f:
 f.write(data)
 print("節約する:",file_name)
def main(page):
 for page in range(1,page+1):
 print('########################現在最初の{} ########################'.format(page))
 thread_pool = concurrent.futures.ThreadPoolExecutor(max_workers=1)
 res = send_request('https://..//st/?ge={}'.((ge)))
 src_url = pare_data(res.text)
 for file,url in src_url:
 print(file)
 print(url)
 image_response = send_request(url)
 thread_pool.submit(save_data,file,image_response.content)
 thread_pool.shutdown()
if __name__=='__main__':
 main(1)
Read next

プロトタイプ

nullは「対象がない」、つまりそこには価値がないはずだという意味です。 ちなみに、ダイアグラム内の相互に関連するプロトタイプの連鎖はプロトタイプ・チェーンで、これは青い線です。

Oct 26, 2020 · 1 min read

数独生成アルゴリズム

Oct 26, 2020 · 3 min read

J41コンストラクタ

Oct 23, 2020 · 4 min read

ツール - ドキュメント

Oct 21, 2020 · 2 min read