Fish Shell:
HTML পার্স করা
কিভাবে:
Fish shell, মূলত, সরাসরি HTML পার্স করার জন্য ডিজাইন করা হয়নি। তবে, এটি curl
, grep
, sed
, awk
, বা pup
বা Python স্ক্রিপ্টে beautifulsoup
এর মতো বিশেষায়িত টুলগুলির সঙ্গে Unix টুলগুলি একত্রিত করে দুর্দান্ত কাজ করে। নিচে উদাহরণ দেওয়া হল যেগুলি দেখায় যে Fish shell এর মধ্যে থেকে এই টুলগুলি কিভাবে HTML পার্স করার জন্য ব্যবহার করা যায়।
curl
এবং grep
ব্যবহার করে:
HTML কনটেন্ট ফেচ করে এবং লিংকসমূহ থাকা লাইনগুলি এক্সট্রাক্ট করা:
curl -s https://example.com | grep -oP '(?<=href=")[^"]*'
আউটপুট:
/page1.html
/page2.html
...
pup
ব্যবহার করে (HTML পার্স করার জন্য একটি কমান্ড-লাইন টুল):
প্রথমে, নিশ্চিত করুন যে pup
ইন্সটল করা আছে। তারপর আপনি তার ট্যাগ, আইডি, ক্লাস, ইত্যাদি দ্বারা এলিমেন্টগুলি এক্সট্রাক্ট করতে এটি ব্যবহার করতে পারবেন।
curl -s https://example.com | pup 'a attr{href}'
grep
উদাহরণের মতো, আউটপুটে <a>
ট্যাগের href অ্যাট্রিবিউটগুলি তালিকাভুক্ত হবে।
একটি Python স্ক্রিপ্ট এবং beautifulsoup
ব্যবহার করে:
যদিও Fish নিজে নেটিভভাবে HTML পার্স করতে পারে না, এটি Python স্ক্রিপ্টের সাথে নির্বিঘ্নে ইন্টিগ্রেট করতে পারে। নিচে একটি সংক্ষিপ্ত উদাহরণ দেওয়া হল যা Python এবং BeautifulSoup
ব্যবহার করে HTML থেকে টাইটেল এক্সট্রাক্ট করার জন্য। নিশ্চিত করুন যে আপনার Python পরিবেশে beautifulsoup4
এবং requests
ইন্সটল করা আছে।
parse_html.fish
function parse_html -a url
python -c "
import sys
import requests
from bs4 import BeautifulSoup
response = requests.get(sys.argv[1])
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('title')
for title in titles:
print(title.get_text())
" $url
end
ব্যবহার:
parse_html 'https://example.com'
আউটপুট:
Example Domain
এই পদ্ধতিগুলি বিভিন্ন ব্যবহারের ক্ষেত্র এবং জটিলতার মাত্রা সার্ভ করে, সাধারণ কমান্ড-লাইন টেক্সট ম্যানিপুলেশন থেকে শুরু করে Python স্ক্রিপ্টের মধ্যে beautifulsoup
এর পূর্ণ পার্সিং ক্ষমতা পর্যন্ত। আপনার প্রয়োজন এবং HTML স্ট্রাকচারের জটিলতা অনুসারে, আপনি একটি সোজাসাপ্টা Unix পাইপলাইন বা আরও শক্তিশালী স্ক্রিপ্টিং পদ্ধতি বেছে নিতে পারেন।