まず、urllib(Py3)だけでなく、urllib.request
をインポートする必要があります。
そしてオブジェクトを変数に代入して、オブジェクトインスタンスを出力として与えます。それと間違って 何も、あなたに簡単な修正を与えるために、やってみません:
In [1]: import urllib.request
In [2]: down_link = "http://vignette3.wikia.nocookie.net/shipoffools/images/4/42/Surprised_Luffy.jpg/revision/latest?cb=20120921134043"
In [3]: path_to_save = "../luffy.jpg"
In [4]: urllib.request.urlretrieve(down_link, path_to_save)
Out[4]: ('../luffy.jpg', <http.client.HTTPMessage at 0x47f6af0>)
これはうまく動作しますが、あなたが望むイメージを保存します。 path_to_saveを指定しないと、それでも問題なくダウンロードされ、パスはtmp
ディレクトリになりますので、場合によってはC:\\Users\\rakesh.j.kulkarni\\AppData\\Local\\Temp\\
というフォルダになります。
In [5]: import urllib.request as req
In [6]: down_link = "https://vignette3.wikia.nocookie.net/shipoffools/images/4/42/
...: Surprised_Luffy.jpg/revision/latest?cb=20120921134043"
In [7]: fname = "../luffy.jpg"
In [8]: with req.urlopen(down_link) as d, open(fname, "wb") as opfile:
...: data = d.read()
...: opfile.write(data)
...:
注:https
関連するエラーやその他の問題の場合は
は、urlopen
でファイルを読み取り、コンピュータ上のファイルに保存することにより、それを行うためのクリーンな方法があります:この方法は時間がかかりますが、通常の小さなファイルでは問題ありません。
JavaScriptのダウンロード/リダイレクト:
subprocess
を使用してブラウザでリンクを開くと、ブラウザのパスを指定する必要があるため、実際には動的コードにはなりません既存のモジュール
webbrowser
、それは自動的にシステムのデフォルトのブラウザを検出し、URLを開きます。
import webbrowser
url = ...
webbrowser.open(url, autoraise=True) # normal
webbrowser.open_new(url) # new window
webbrowser.open_new_tab(url) # new tab
私はそれがHTTPSの要求だということを言及するのを忘れて、私はあなたの方法を試みたが、まだ私が代わりに実際のテキストファイル – user2728397
の、その中のHTMLソースと同じファイルを取得していますだけで編集を行って、どのようにそのことについて、それは働くでしょうか? –
私はHTMLソースを取得したときにWebブラウザで開いてみるとウェブサイトのログインページを表示するので、なぜ動作しないのかわからないので、代わりに別のプロセスを思いついた 'subprocess.Popen (["C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe"、down_link])は、テキストファイルをダウンロードしてダウンロードに保存してから作業します。 – user2728397