কার্ল ব্যবহার করে একটি ওয়েব পৃষ্ঠা থেকে সমস্ত ফাইল পাওয়া


86

আমি নিম্নলিখিত পৃষ্ঠাগুলি থেকে একবারে ফাইলগুলি ডাউনলোড করতে চাই curl: http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/

আমি চেষ্টা করেছিলাম curl http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/এবং এটি টার্মিনালে একগুচ্ছ লাইন ফিরে পেয়েছিল তবে কোনও ফাইল পেল না।

উত্তর:


124

wgetপরিবর্তে ব্যবহার করুন। আপনি brew install wgetযদি হোমব্রিউ ইনস্টল করে থাকেন বা sudo port install wgetম্যাকপোর্টগুলি ইনস্টল করেন তবে আপনি এটি ইনস্টল করতে পারেন।

ডিরেক্টরি তালিকা থেকে ফাইলগুলি ডাউনলোড করার জন্য -r(পুনরাবৃত্ত হওয়া), -np(পিতামাতার ডিরেক্টরিগুলির লিঙ্কগুলি অনুসরণ করবেন না), এবং -kডাউনলোড করা এইচটিএমএল বা সিএসএসে স্থানীয় ফাইলগুলিতে লিঙ্ক তৈরি করতে (ক্রেডিট @ এক্স্যাক্রোকিয়ার)।

wget -r -np -k http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/

অন্যান্য দরকারী বিকল্প:

  • -nd (কোনও ডিরেক্টরি নেই): সমস্ত ডিরেক্টরি বর্তমান ডিরেক্টরিতে ডাউনলোড করুন
  • -e robots.off: robots.txt ফাইলগুলি উপেক্ষা করুন, robots.txt ফাইলগুলি ডাউনলোড করবেন না
  • -A png,jpg: এক্সটেনশানগুলির সাথে কেবল ফাইলগুলি গ্রহণ করুন pngবাjpg
  • -m (মিরর): -r --timestamping --level inf --no-remove-listing
  • -nc, --no-clobber: ফাইল উপস্থিত থাকলে ডাউনলোড এড়িয়ে যান

3
wget -r -np -k http://your.website.com/specific/directory। কৌশলটি হ'ল -kস্থানীয় দেখার জন্য লিঙ্কগুলি (চিত্রগুলি ইত্যাদি) রূপান্তর করতে।
yPhil

brewএবং portআমার জন্য উইজেট ইনস্টল করার জন্য কাজ করে না। আমার কি করা উচিৎ?
হোসেইন হেইডারি

@ হোসেইনহ্যাদারি: আপনি অসডের জন্য সংকলিত বাইনারিগুলির জন্য rudix.org ব্যবহার করতে পারেন। সুতরাং আপনাকে রডিক্স ইনস্টল করতে হবে এবং তারপরে ব্যবহার করতে হবে: sudo rudix ইনস্টল
উইজেট

বিকল্পটি -kসবসময় কাজ করে না। উদাহরণস্বরূপ, ওয়েব পৃষ্ঠায় একই ফাইলের দিকে ইশারা করার জন্য যদি আপনার দুটি লিঙ্ক থাকে তবে আপনি পুনরাবৃত্তভাবে ক্যাপচারের চেষ্টা করছেন, wgetকেবলমাত্র প্রথম উদাহরণটির লিঙ্কটি রূপান্তরিত হবে বলে মনে হয় তবে দ্বিতীয়টি নয়।
কুন

22

curlকেবলমাত্র একক ওয়েব পৃষ্ঠাগুলির ফাইলগুলি পড়তে পারে, আপনি যে রেখাগুলি পেয়েছিলেন তা হ'ল ডিরেক্টরি সূচক (যা আপনি যদি সেই URL এ যান তবে আপনার ব্রাউজারেও দেখতে পাবেন) see ব্যবহার করার জন্য curlএবং কিছু ইউনিক্স সরঞ্জাম যাদু আপনি যে ফাইলগুলি ভালো কিছু ব্যবহার করতে পারে পেতে

for file in $(curl -s http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/ |
                  grep href |
                  sed 's/.*href="//' |
                  sed 's/".*//' |
                  grep '^[a-zA-Z].*'); do
    curl -s -O http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/$file
done

যা সমস্ত ডিরেক্টরি বর্তমান ডিরেক্টরিতে পাবেন।

আরও বিস্তৃত প্রয়োজনের জন্য (ফোল্ডার / ডিরেক্টরি সহ কোনও সাইট থেকে একগুচ্ছ ফাইল প্রাপ্তি সহ), wget(ইতিমধ্যে অন্য উত্তরে প্রস্তাবিত হিসাবে) আরও ভাল বিকল্প।


ধন্যবাদ. এটি একটি দুর্দান্ত সমাধান এবং কাজের উদাহরণ প্রদান দুর্দান্ত!
এজেলেভ

1
xmllint --html --xpath '//a/@href'সম্ভবত তুলনায় ভাল পার্সার grep
13

7

সূত্র: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

আপনি নিম্নলিখিত কমান্ড ব্যবহার করতে পারেন:

wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url>

প্রতিটি বিকল্পের সাথে ব্যাখ্যা

  • wget: সিআরএল অনুরোধ করার সহজ সরল কমান্ড এবং আমাদের স্থানীয় মেশিনে রিমোট ফাইলগুলি ডাউনলোড করুন।
  • --execute="robots = off": এটি পৃষ্ঠাতে ক্রল করার সময় রোবটস.টি.এস.টি ফাইলটিকে উপেক্ষা করবে। আপনি যদি সমস্ত ফাইল না পেয়ে থাকেন তবে এটি সহায়ক।
  • --mirror: এই বিকল্পটি প্রদত্ত ইউআরএলটির জন্য মূলত ডিরেক্টরি কাঠামোটি আয়না করবে। এটি একটি শর্টকাট -N -r -l inf --no-remove-listingযার অর্থ:
    • -N: স্থানীয় থেকে নতুন না হলে ফাইলগুলি পুনরুদ্ধার করবেন না
    • -r: পুনরাবৃত্ত ডাউনলোড ডাউনলোড করুন
    • -l inf: সর্বাধিক পুনরাবৃত্তির গভীরতা (অসীমের জন্য inf বা 0)
    • --no-remove-listing: '.listing' ফাইলগুলি সরাবেন না
  • --convert-links: ডাউনলোড করা এইচটিএমএল বা সিএসএস সিঙ্কে স্থানীয় ফাইলগুলিতে লিঙ্ক তৈরি করুন
  • --no-parent: অভিভাবক ডিরেক্টরিতে আরোহণ করবেন না
  • --wait=5: পুনরুদ্ধারের মধ্যে 5 সেকেন্ড অপেক্ষা করুন। যাতে আমরা সার্ভারটি ছিন্ন করতে পারি না।
  • <website-url>: ফাইলগুলি ডাউনলোড করতে কোথা থেকে এই ওয়েবসাইটটি ইউআরএল।

শুভ ডাউনলোড করা: হাসি:


3

আপনি উইন্ডোজ / ম্যাকোসের জন্য উপলব্ধ এইচটি ট্র্যাক ব্যবহার করতে পারেন এবং হোমব্রিউয়ের মাধ্যমে ইনস্টলযোগ্য।


ধন্যবাদ আমার জন্য নতুন কিছু সেরা এটি দ্রুত এবং দ্রুত: এক-লাইনার। শুধু মেদ কাটা এবং সমস্ত আবর্জনা এড়ানো।
পিটার তেওঁ

0

আমরা যারা জিবিআইয়ের সাথে অ্যাপ্লিকেশনটি ব্যবহার করব তাদের জন্য, ম্যাক ওএস এক্স এর জন্য সস্তা ব্যয়বহুল প্রোগ্রাম ডিপভ্যাকুয়াম রয়েছে , যা wgetব্যবহারকারী-বান্ধব পদ্ধতিতে প্রয়োগ করে, প্রেজেটগুলির একটি তালিকা সহ যা সাধারণভাবে প্রয়োজনীয় কাজগুলি পরিচালনা করতে পারে। আপনি নিজের কাস্টম কনফিগারেশনগুলি প্রিসেট হিসাবে সংরক্ষণ করতে পারেন।

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.