এইচটিএমএল ছাড়া উইজেট ব্যবহার করে কোনও পৃষ্ঠার পাঠ্য কীভাবে পাবেন?


17

আমি যদি কোনও ওয়েবপৃষ্ঠায় উইজেট চেষ্টা করি তবে পৃষ্ঠাটি এইচটিএমএল হিসাবে পাচ্ছি। এইচটিএমএল সম্পর্কিত না করে কেবল কোনও ফাইলের পাঠ্য পুনরুদ্ধার করা সম্ভব? (এটি আমার জন্য প্রয়োজনীয় যেহেতু এইচটিএমএল পৃষ্ঠাগুলির কিছুতে সি প্রোগ্রামটি এইচটিএমএল ট্যাগ সহ ডাউনলোড করা হচ্ছে I আমাকে ব্রাউজারে এটি খুলতে হবে এবং একটি। সি ফাইল তৈরি করতে ম্যানুয়ালি পাঠ্যটি অনুলিপি করতে হবে))


1
আসলে এটি সম্ভব, তবে আপনাকে এমন কিছু ফাংশন লিখতে হবে যা পৃষ্ঠা থেকে কোডটি বিশ্লেষণ করবে এবং এটি সংরক্ষণ করবে .c। এটি শক্ত নয়, তবে এটি পৃষ্ঠার কাঠামোর উপর নির্ভর করে। আপনি যদি কোনও লিঙ্ক সরবরাহ করেন তবে কেউ আপনাকে সঠিক কোড দিয়ে সহায়তা করবে। অন্যথায় sedবা perlআপনার বন্ধু হয়।
ছুটে

উত্তর:


26

wgetকেবলমাত্র দস্তাবেজটি পুনরুদ্ধার করবে। যদি দস্তাবেজটি এইচটিএমএলটিতে থাকে তবে আপনি যা চান তা হ'ল ডকুমেন্টটি বিশ্লেষণের ফলাফল।

আপনি, উদাহরণস্বরূপ, ব্যবহার lynx -dump -nolistকরতে পারেন , যদি আপনার চারপাশে লিংক থাকে।

lynxএকটি হালকা ওজনের, সাধারণ ওয়েব ব্রাউজার, যা -dumpবিশ্লেষণ প্রক্রিয়াটির ফলাফল আউটপুট করতে ব্যবহৃত বৈশিষ্ট্য রয়েছে । -nolistশেষে লিঙ্কগুলির তালিকা এড়ায়, যা পৃষ্ঠায় কোনও হাইপারলিংক থাকলে উপস্থিত হবে।

@ থোর দ্বারা উল্লিখিত elinksহিসাবে, এটির জন্যও এটি ব্যবহার করা যেতে পারে, কারণ এটির একটি -dumpবিকল্পও রয়েছে (এবং -no-referencesলিঙ্কগুলির তালিকা বাদ দিতে হবে)। আপনি যদি বেশ কয়েকটি সাইট-এম-ফ্রেম (এমটিএফবিডাব্লুওয়াই) ব্যবহার করে হাঁটেন তবে এটি বিশেষত কার্যকর হতে পারে।

এছাড়াও, মনে রাখবেন যে, পৃষ্ঠাটি এইচটিএমএল ট্যাগ সহ কেবলমাত্র সি কোড না হলে, ফলাফলটি অবশ্যই আপনাকে পরীক্ষা করতে হবে, কেবল সি-কোড ছাড়া আর কিছুই নেই তা নিশ্চিত করার জন্য।


5

আপনার যদি এই অন্যান্য সরঞ্জামগুলি ইনস্টল না করা থাকে তবে কেবলমাত্র উইজেট এবং পৃষ্ঠায় কোনও সারণী পাঠ্য এবং লিঙ্কগুলির কোনও ফর্ম্যাটিং নেই, যেমন উত্স কোড বা ফাইলগুলির একটি তালিকা, আপনি এই জাতীয় সেড ব্যবহার করে এইচটিএমএলটি স্ট্রিপ করতে পারেন:

wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'

এটি পৃষ্ঠার উত্সটি STDOUT এ ছুঁড়ে ফেলার জন্য ব্যবহার করে এবং কোনও <> জোড়া এবং তাদের মধ্যে যে কোনও কিছু কেটে ফেলার জন্য সেজেট ব্যবহার করে।

তারপরে আপনি যে ফাইলটি তৈরি করতে চান সেটি সেড কমান্ডের আউটপুট পুনর্নির্দেশ করতে পারবেন>:

wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt

এনবি: আপনি দেখতে পাচ্ছেন যে যে ফাইলটি আপনি চান না তাতে অতিরিক্ত শ্বেত স্পেস রয়েছে (উদাহরণস্বরূপ লাইনগুলি কয়েকটি কলামকে ইন্ডেন্ট করা হয়)

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

আপনার যদি ফাইলের প্রতিটি লাইনে একই সরল কাজটি করতে হয় তবে সেড কমান্ডে এটি করার জন্য একটি কমান্ড অন্তর্ভুক্ত করতে পারেন (এখানে একটি শীর্ষস্থানীয় স্থান সরিয়ে নেওয়া):

wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt

3

শুধু অন্য সরঞ্জাম যোগ করতে। আমি পছন্দ করি w3m, যা lynxকনসোল ব্রাউজারের মতো। আপনি আপনার সিস্টেমে ইতিমধ্যে কী উপলব্ধ তা যাচাই করতে চাইতে পারেন।

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