إياد أحمد نشر 23 نوفمبر 2021 أرسل تقرير نشر 23 نوفمبر 2021 كيف يمكنني الحصول على جميع الأصناف classes الموجودة في الرابط التالي:https://en.wikipedia.org/wiki/2019_Ballon_d'Or 2 اقتباس
1 Ali Haidar Ahmad نشر 23 نوفمبر 2021 أرسل تقرير نشر 23 نوفمبر 2021 بشكل عام يمكنك الحصول على جميع الأصناف الموجودة ضمن أي رابط بالشكل التالي: # استيراد الوحدات اللازمة from bs4 import BeautifulSoup import requests # تحديد الموقع الهدف URL = "https://en.wikipedia.org/wiki/2019_Ballon_d%27Or" # والحصول على كائن الاستجابة URL طلب عنوان responseObj = requests.get(URL) # BeautifulSoup تحليل النص الذي تم الحصول عليه من خلال soup = BeautifulSoup(responseObj.content, 'lxml') # مجموعة لوضع الأصناف ضمنها class_set = set() # الحصول على جميع الوسوم tags = {tag.name for tag in soup.find_all()} # المرور على كل الوسوم for tag in tags: # الحصول على جميع عناصر الوسم for i in soup.find_all( tag ): # class للتحقق فيما إذا كانت تحمل السمة has_attr نستخدم الدالة if i.has_attr( "class" ): if len( i['class'] ) != 0: class_set.add(" ".join( i['class'])) class_list=list(class_set) # طباعة بعض منها print(class_list[0:5]) # ['infobox-data', 'searchButton mw-fallbackSearchButton', # 'searchButton', 'mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal', # 'mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown'] اقتباس
1 سامح أشرف نشر 24 نوفمبر 2021 أرسل تقرير نشر 24 نوفمبر 2021 يمكن القيام بذلك من خلال جلب كل العناصر التي تحتوي على الخاصية class فقط، ثم المرور على هذه العناصر وإستخراج الأصناف منها، بعد ذلك نقومك بإزالة كل الأصناف المكررة من خلال إستخدام set كالتالي: from bs4 import BeautifulSoup import requests URL = "https://en.wikipedia.org/wiki/2019_Ballon_d%27Or" response = requests.get(URL).content soup = BeautifulSoup(response, features='lxml') # إستخراج العناصر التي لديها الخاصية class classes = [tag.get('class') for tag in soup.find_all(class_=True)] # تستطيح القائمة (جعلها تحتوي على عناصر نصية فقط) classes = sum(classes, []) # السطر السابق يمكن عملة كالتالي أيضًا # classes = [item for sublist in classes for item in sublist] # إزالة كل الأصناف المكرر من خلال إستخدام set class_set = set(classes) print(class_set) """ {'printfooter', 'wb-langlinks-edit', ..... 'tocsection-2', 'mw-selflink', 'mw-portlet-interaction'} """ 1 اقتباس
السؤال
إياد أحمد
كيف يمكنني الحصول على جميع الأصناف classes الموجودة في الرابط التالي:
https://en.wikipedia.org/wiki/2019_Ballon_d'Or
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.