خب همان طور که دوستان برنامه نویسمون می دونن یکی از راه هایی که ما می تونیم به داده های موجود در برناممون مثل اسکریپت های php دسترسی پیدا کنیم و اون ها رو در سرتاسر برنامه صدا بزنیم، استفاده از همون شناسه یا آیدی منحصر به فرد آنهاست یعنی مثلا با صدا زدن شناسه یک آبجت به محتوا یا درواقع داده اون شی یا کلاس دست پیدا می کنیم با همین روش (دانستن نام کلاس یا آیدی آن تگ ) میتونیم موقع داده کاوی با پایتون به کلیه ی داده های کلاس موجود در تگ های ( برچسب های) فایل HTML دست پیدا کنیم و آنها را استخراج کنیم بعد طبق نیاز خودمون داده ساختار یافته تولید کنیم .
نمونه کد (استخراج نام کلیه کلاس ها ):
# Import Module
from bs4 import BeautifulSoup
import requests
# Website URL
URL = 'https://cafebazaar.ir/cat/social'
# class list set
class_list = set()
# Page content from Website URL
page = requests.get( URL )
# parse html content
soup = BeautifulSoup( page.content , 'html.parser')
# get all tags
tags = {tag.name for tag in soup.find_all()}
# iterate all tags
for tag in tags:
# find all element of tag
for i in soup.find_all( tag ):
# if tag has attribute of class
if i.has_attr( "class" ):
if len( i['class'] ) != 0:
class_list.add(" ".join( i['class']))
print( class_list )
در آخر شما فقط URL وبسایت عوض کنین و فایل رو با نام دلخواه مثل get_names_class.py ذخیره کنین و بعد اجرا کنین اگه همه چیز درست پیش رفته باشه توی خروجی چیزی مثل عکس زیر دریافت می کنین :
خب حالا این اسم های کلاس ها رو توی فایلی دیگ مثلا get-class-name.txt کپی و بچسبانید و بعد هم ذخیره کنید تا موقع نیاز بتونین اون ها رو صدا بزنین و استفاده کنین.
منبع اصلی :