কোনও শেল ভেরিয়েবলের ওয়েবপেজের সামগ্রীগুলি কীভাবে পাবেন?


115

লিনাক্সে আমি কীভাবে একটি ইউআরএল আনব এবং এর বিষয়বস্তুগুলি শেল স্ক্রিপ্টে পরিবর্তনশীলতে পেতে পারি?

উত্তর:


189

আপনি wgetপৃষ্ঠাটি ডাউনলোড করতে কমান্ডটি ব্যবহার করতে পারেন এবং এটিকে একটি পরিবর্তনশীল হিসাবে এটি পড়তে পারেন:

content=$(wget google.com -q -O -)
echo $content

আমরা সেই -Oবিকল্পটি ব্যবহার করি wgetযা আমাদের সেই ফাইলটির নাম নির্দিষ্ট করতে দেয় যা wgetপৃষ্ঠার সামগ্রীগুলি ফেলে দেয়। আমরা -স্ট্যান্ডার্ড আউটপুট এ ডাম্প পেতে এবং পরিবর্তনশীল মধ্যে এটি সংগ্রহ নির্দিষ্ট content। আপনি -qউইজেটের আউটপুট বন্ধ করতে শান্ত বিকল্পটি যুক্ত করতে পারেন ।

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

content=$(curl -L google.com)
echo $content

আমরা -Lযে পৃষ্ঠার জন্য অনুরোধ করছি সে পৃষ্ঠাটি সরে যেতে পারে বলে আমাদের বিকল্পটি ব্যবহার করতে হবে । কোন ক্ষেত্রে আমাদের নতুন অবস্থান থেকে পৃষ্ঠাটি নেওয়া দরকার। -Lঅথবা --locationবিকল্প আমাদের সাথে সাহায্য করে।


এটি সত্যিই ঝরঝরে কৌশল। আমি একটি প্রক্সি সার্ভারে পিএইচপি স্ক্রিপ্টের মাধ্যমে একটি শেল স্ক্রিপ্ট প্রার্থনা করি। যখন জিজ্ঞাসা করা হয়, প্রক্সি সার্ভারটি ব্যয়বহুল সার্ভারগুলি চালু করে যা 2 ঘন্টা পরে নিজেকে বন্ধ করে দেয়। জেনকিনস কনসোল রেকর্ডে ফিরিয়ে আনতে আমার স্ট্যান্ডার্ড আউটপুটের জন্য উইজেট থেকে আউটপুট প্রয়োজন।
ডেনিস

আমি এখনও এটি পেলাম না ... কেউ কীভাবে উদাহরণস্বরূপ ডিস্ট্রেট করতে পারেন? এই লিঙ্কটি www2.watchop.io/manga2/read/one-piece/1/4 এর জন্য একটি চলকটিতে একটি img ট্যাগ পান ??
juggernauthk108

@ juggernaut1996: এটি একটি পৃথক প্রশ্ন হওয়া উচিত। সংক্ষেপে, আপনাকে পৃষ্ঠাটি ডাউনলোড করতে হবে, srcসঠিক উপাদানটির বৈশিষ্ট্যটি বের করতে হবে , তারপরে পৃষ্ঠাটি ডাউনলোড করতে হবে । আপনি যদি টিকিট ইনস্টল করেন , এই কমান্ডটি এটি করা উচিত:curl -s http://ww1.watchop.io/manga2/read/one-piece/1/4 | tq -j -a src "#imgholder a img" | xargs wget
পাইরে্লি

উইজেট 1.14 সংস্করণ বিকল্পের convert_links = onসাথে গ্রহণ করছে না -O-। এটি ত্রুটির সাথে ব্যর্থ হচ্ছে -k can be used together with -O only if outputting to a regular file.। এটা আশা করা হয়?
প্রসাদ বোঁথু

28

কমান্ড লাইন থেকে পৃষ্ঠা পাওয়ার অনেকগুলি উপায় রয়েছে ... তবে আপনি কোড উত্স বা পৃষ্ঠাটি নিজেই চান তা এটি নির্ভর করে:

আপনার যদি কোড উত্সের প্রয়োজন হয়:

কার্ল সহ:

curl $url

উইজেট সহ:

wget -O - $url

তবে আপনি যদি ব্রাউজার দিয়ে যা দেখতে পান তা পেতে চাইলে লিংকগুলি কার্যকর হতে পারে:

lynx -dump $url

আমি মনে করি আপনি এই সামান্য সমস্যার জন্য এতগুলি সমাধান খুঁজে পেতে পারেন, সম্ভবত আপনাকে এই আদেশগুলির জন্য সমস্ত ম্যান পৃষ্ঠা পড়তে হবে। এবং $urlআপনার ইউআরএল দ্বারা প্রতিস্থাপন করতে ভুলবেন না :)

শুভকামনা :)


9

নেই wgetআদেশ বা curl

আপনি এখন উইজেটের সাহায্যে ডাউনলোড করা ফাইলটি ব্যবহার করতে পারেন। অথবা আপনি কার্ল দিয়ে একটি স্ট্রিম পরিচালনা করতে পারেন।


সংস্থানসমূহ:


3
content=`wget -O - $url`

@ রিজ্যাক: (তবে আপনি যে নিবন্ধটি সংযুক্ত করেছেন তা synt (...) সিনট্যাক্সের জন্য খুব ভাল কেস তৈরি করে))
জিম লুইস

3

আপনার যদি এলডাব্লুপি ইনস্টল করা থাকে তবে এটি " জিইটি " নামক একটি বাইনারি সরবরাহ করে ।

Http:// http://example.com পান
<! ডক্টইপ এইচটিএমএল পাবলিক "- // ডাব্লু 3 সি // ডিটিডি এইচটিএমএল 4.01 ট্রানজিশনাল // EN">
<Html>
Er <HEAD>
  <মেটা http-برابر = "সামগ্রী-প্রকার" সামগ্রী = "পাঠ্য / এইচটিএমএল; চরসেট = utf-8">
  <TITLE> উদাহরণ ওয়েব পৃষ্ঠা </ translation>
</ Head> 
<Body> এর  
<p> আপনি & quot; উদাহরণ.com & quot ;, টাইপ করে এই ওয়েব পৃষ্ঠায় পৌঁছেছেন,
করুন & quot; example.net করুন & quot; & quot; example.org করুন & quot
  বা & quot; উদাহরণ.edu & quot; আপনার ওয়েব ব্রাউজারে। </ p>
<p> এই ডোমেনের নামগুলি ডকুমেন্টেশনে ব্যবহারের জন্য সংরক্ষিত এবং উপলভ্য নয় 
  নিবন্ধনের জন্য। <a href="http://www.rfc-editor.org/rfc/rfc2606.txt"> আরএফসি দেখুন
  2606 </a>, বিভাগ 3। </ P>
</ Body>
</ Html>

wget -O-, curlএবং lynx -sourceএকইরকম আচরণ করে।


2

আপনি কাঁচা ডেটা ব্যবহার করতে curlবা wgetপুনরুদ্ধার করতে পারেন বা w3m -dumpকোনও ওয়েব পৃষ্ঠার একটি সুন্দর পাঠ্য উপস্থাপনা ব্যবহার করতে পারেন।

$ foo=$(w3m -dump http://www.example.com/); echo $foo
You have reached this web page by typing "example.com", "example.net","example.org" or "example.edu" into your web browser. These domain names are reserved for use in documentation and are not available for registration. See RFC 2606, Section 3.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.