1. Home
  2. Docs
  3. BeautifulSoup
  4. ওয়েব স্ক্রাপিং Multiple Link

ওয়েব স্ক্রাপিং Multiple Link

আমরা এবার এই ওয়েবসাইট টি স্ক্রাপ করবো https://subslikescript.com/movies

আমরা আগে যে সিঙ্গেল ওয়েবসাইট টি স্ক্রাপ করেছিলাম সেটারই movies পেজ লিংক গুলো সব শো করছে আমরা লিংক গুলো ধরবো এবং প্রত্যেকটা লিংক এ ঢুকলে আমরা সিঙ্গেল পেজ এর স্ট্রাকচার পাবো যা আমরা আগের পর্বে স্ক্রাপ করেছিলাম। আমরা প্রত্যেকটা সিঙ্গেল পেজ এ ঢুকে স্ক্রাপ করবো।

import requests
from bs4 import BeautifulSoup
# Send a request to the webpage
url = 'https://subslikescript.com/movies'
response = requests.get(url)
# Parse the HTML content of the webpage using BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')
print(soup)

ওয়েবসাইট টি ইন্সপেক্ট করলে নিচের মত html স্ট্রাকচার দেখতে পাবো।

Write a caption

সব গুলো লিংক ধরি

article = soup.find('article',class_='main-article')
link = article.find_all('a', href=True)

এরে লিস্ট আকারে স্টোর করি

links = []
for linko in link :
    links.append(linko['href'])
print(links)  

আমাদের links লিস্ট টি এখন এরকম :

['movie/Blind_Detective-2332707', 'movie/Killer_Workout-91339', 'movie/Budapest_Noir-5161018', 'movie/Firefly-3582840', 'movie/Warriors_of_the_Rainbow_Seediq_Bale_II-4164468', 'movie/Sex_Appeal-91927', 'movie/Lonesome-15258032', 'movie/Corri_uomo_corri-62825', 'movie/Faraway-18747542', 'movie/The_Treasure_of_Swamp_Castle-137226', 'movie/Fantastic_Girls-4028826', 'movie/Meet_Me_in_the_Bathroom-16378298', 'movie/Shot-301171', 'movie/LasseMajas_detektivbyr_-_Stella_Nostra-4397382', 'movie/In_Real_Life-1087453', 'movie/The_Earth_Dies_Screaming-58050', 'movie/The_Mystery_of_Anthrax_Island-19863080', 'movie/Men_of_Plastic-23157348', 'movie/Ela_Veezha_Poonchira-15516546', 'movie/Married_by_Mistake-21403538', 'movie/The_Mask_of_the_Red_Death_Part_2-21443400', 'movie/A_spol_macskak-67816', 'movie/0815_-_In_der_Heimat-47789', 'movie/Level_Five-116866', 'movie/Mothman-1514425', 'movie/My_Favorite_Christmas_Tree-19895682', 'movie/Mistletoe_Match-18559372', 'movie/Adieu_Paris-13492256', 'movie/Smyrna-11935566', 'movie/Chuecatown-856776']

লিংক গুলো খেয়াল করলে দেখতে পাবো লিংকগুলো সম্পূর্ণ না। (‘movie/Blind_Detective-2332707’)ওয়েবসাইট এর মূল ইউআরএল এর পরের লিংক গুলো দেয়া আছে। আমাদের লিংকের সাথে ওয়েবসাইট এর মূল ইউআরএল যোগ করতে হবে।

প্রত্যেকটা লিংক কে ফর লুপ চালিয়ে স্ক্রাপ করে ফাইল আকারে সেভ করি :

for link in links :
    website = f'{root}/{link}'
    result = requests.get(website)
    soup = BeautifulSoup(result.content,'html.parser')
    article = soup.find('article',class_='main-article')
    title = article.find('h1').get_text()
    transscript= article.find('div', class_='full-script').get_text()
    with open(f'{title}.txt','w',encoding='utf-8') as file:
        file.write(transscript)

Full Code

import requests
from bs4 import BeautifulSoup
url = 'https://subslikescript.com/movies'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
link = article.find_all('a', href=True)
root = 'https://subslikescript.com'
links = []
for linko in link :
    links.append(linko['href'])

for link in links :
    website = f'{root}/{link}'
    result = requests.get(website)
    soup = BeautifulSoup(result.content,'html.parser')
    article = soup.find('article',class_='main-article')
    title = article.find('h1').get_text()
    transscript= article.find('div', class_='full-script').get_text()
    with open(f'{title}.txt','w',encoding='utf-8') as file:
        file.write(transscript)
    
    

How can we help?