বিউটিফুলসোপ দিয়ে ওয়েব স্ক্র্যাপিং |
নতুন নতুন যদি কেউ পাইথনে ওয়েব স্ক্র্যাপিং শিখতে চায় তবে তার কাছে, তবে সর্বপ্রথম সে যে প্যাকেজটা শিখতে চাইবে সেটা নিঃসন্দেহে BeautifulSoup 4. হুম!
তাহলে চল প্রথমে সংক্ষেপে জেনে নেওয়া যাক, ওয়েব স্ক্র্যাপিং কী জিনিস?
ওয়েব স্ক্র্যাপিং কি?
ইন্সটলেশন
pip install beautifulsoup4 pip install requests
স্টার্ট স্ক্র্যাপিং
ওয়েবপেজটাতে রিকুয়েস্ট পাঠায়ঃ
>>> import requests
>>>
>>> result = requests.get("http://quotes.toscrape.com/")
আমরা আসলেই সঠিক ফলাফল পেয়েছি কিনা দেখা যাক।
>>> result.status_code
200
>>> result.headers
...
স্ট্যাটাস কোড 200, তার মানে সব ঠিকঠাক আছে।
একটি ছোট নামের ভ্যারিয়েবলে ওয়েবপেজের কনটেন্টটা স্টোর করি-
>>> c = result.content
এখনই আসল মজা শুরু। আমরা ওয়েবপেজের Quote-গুলো স্ক্র্যাপ করতে চাই; তাই আমাদের দেখতে হবে সবগুলো কোট বা উক্তির মাঝে কোন জিনিসটা কমন আছে। আমরা ওয়েবপেজটাকে Developer's Tools দ্বারা ইনস্পেক্ট করলেই দেখব যে প্রতিটি Quote বক্সগুলো div দিয়ে তৈরি এবং এগুলোর class অ্যাট্রিবিউট এক: 'quote'. তাই আমরা এই জিনিসটা ব্যবহার করেই পেজে উপস্থিত সবগুলো কোটের একয়াট লিস্ট পেয়ে যেতে পারি। তাহলে একটুক্ষণ কোডারপুলাগিরি করি।
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup(c)
>>> quotes = soup.find_all("div", "quote")
এখন প্রতিটি Quote প্রিন্ট করি।
>>> for i in quotes:
the_quote = i.span
print(the_quote.text)
প্রতিটি Quote বক্সের উক্তিগুলো এর চিলড্রেন এলেমেন্টগুলোর প্রথমটিতে রয়েছে। তাই আমরা quotes লিস্টটির উপর একটি ফর লুপ চালিয়ে প্রতিটি Quote বক্সের প্রথম span এলেমেন্টটি একটি ভ্যারিয়েবলে রেখেছি। তারপর সেটার ভেতরে থাকা মূল্যবান উক্তিখানি .text প্রোপার্টির মাধ্যমে (একটি নিখাদ স্ট্রিং) বের করে এনে প্রিন্ট করেছি।
সম্পূর্ণ কোডটি পাবে এখানে—
তো এই হলো বিউটিফুল সোপের বিউটিফুল কারিশমা!
# বাংলায় ওয়েব স্ক্র্যাপিং# পাইথনে ওয়েব স্ক্র্যাপিং
# BeautifulSoup4 টিউটোরিয়াল বাংলা
# beautifulsoup tutorial bangla
Post a Comment