Googleとそのアーカイブのすべてを見てきました。良い記事はいくつかありますが、私を助けてくれるものはありません。だから、もっと具体的な答えを求めてここに来ると思った。
目的:すべての画像ファイルを一度に取得するために、Webサイトで このコード を実行します。それは多くのポインティングとクリックを節約します。
Windows 7 x64マシンでPython 2.3.5を持っています。C:\ Python23にインストールされています。
いわば、このスクリプトを "go"にするにはどうすればよいですか?
=====================================
WOW。35,000ビュー。これがGoogleで最高の結果であることを見て、ここ数年で見つけた便利なリンクを次に示します。
http://learnpythonthehardway.org/book/ex1.html
セットアップについては、演習0を参照してください。
=====================================
参考までに、Pythonの使用経験はゼロです。アドバイスをいただければ幸いです。
要求されたように、私が使用しているコードは次のとおりです。
"""
dumpimages.py
Downloads all the images on the supplied URL, and saves them to the
specified output file ("/test/" by default)
Usage:
python dumpimages.py http://example.com/ [output]
"""
from BeautifulSoup import BeautifulSoup as bs
import urlparse
from urllib2 import urlopen
from urllib import urlretrieve
import os
import sys
def main(url, out_folder="C:\asdf\"):
"""Downloads all the images at 'url' to /test/"""
soup = bs(urlopen(url))
parsed = list(urlparse.urlparse(url))
for image in soup.findAll("img"):
print "Image: %(src)s" % image
filename = image["src"].split("/")[-1]
parsed[2] = image["src"]
outpath = os.path.join(out_folder, filename)
if image["src"].lower().startswith("http"):
urlretrieve(image["src"], outpath)
else:
urlretrieve(urlparse.urlunparse(parsed), outpath)
def _usage():
print "usage: python dumpimages.py http://example.com [outpath]"
if __name__ == "__main__":
url = sys.argv[-1]
out_folder = "/test/"
if not url.lower().startswith("http"):
out_folder = sys.argv[-1]
url = sys.argv[-2]
if not url.lower().startswith("http"):
_usage()
sys.exit(-1)
main(url, out_folder)
Windowsプラットフォームでは、2つの選択肢があります。
コマンドライン端末で、次のように入力します
c:\ python23\python xxxx.py
メニューからpythonエディターIDLEを開き、xxxx.pyを開き、F5を押して実行します。
投稿されたコードの場合、エラーは次の行にあります。
def main(url, out_folder="C:\asdf\"):
そのはず:
def main(url, out_folder="C:\\asdf\\"):
あなたは窓にいるように見えるので、これを行うことができますpython <filename.py>
。 pythonのbinフォルダーがPATHにあることを確認するか、c:\python23\bin\python <filename.py>
。 Pythonは解釈言語であるため、jarファイルを実行するためにランタイムJavaランタイムが必要になるのと同様に、ファイルを実行するにはインタープリターが必要です。
通常、Windowsエクスプローラで.py
ファイルをダブルクリックして実行できます。これが機能しない場合は、同じディレクトリに次の内容のバッチファイルを作成できます。
C:\python23\python YOURSCRIPTNAME.py
次に、そのバッチファイルをダブルクリックします。または、作業ディレクトリがスクリプトの場所であるときに、コマンドプロンプトでその行を実行するだけです。
iDLE Editorを使用します{既にお持ちかもしれません} python)のインタラクティブシェルがあり、実行と結果が表示されます。
コマンドには、スクリプトの使用コメントに記載されているように、urlパラメーターを含める必要があります。メイン関数には、urlとout(デフォルト値に設定)の2つのパラメーターがありますC:\ python23\python "C:\ PathToYourScript\SCRIPT.py" http://yoururl.com " C:\ OptionalOutput\"