はじめに
https://uploader.jp/
(ux.getuploader.com
)からファイルをコマンドラインで取得すべくファイルの直リンクをコピーしても、時間が経ってからこのリンクを開いたら機能しません。しかしながら、このためだけにSeleniumを使うのも面倒です。
そこで、URLを指定したらダウンロードするスクリプトを組みました(というか組んでもらった)。
スクリプト
Python
import sys
import requests
from bs4 import BeautifulSoup
url = sys.argv[1]
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
token = soup.find('input', attrs={'name': 'token', 'type': 'hidden'})['value']
fileName = soup.find('meta', attrs={'name': 'keywords'})['content'].split(',')[0]
userName = soup.find('a', attrs={'class': 'navbar-brand'})['href'].split('/')[-2]
index = url.split('/')[-1]
downloadUrl = f'https://downloadx.getuploader.com/g/{token}/{userName}/{index}/{fileName}'
r_zip = requests.get(downloadUrl)
with open( './' + fileName , 'wb') as file:
file.write(r_zip.content)
使用法
オプションにダウンロードリンクを付けるのみ。
謝辞
原型を書いてくださった部活の先輩に感謝します。