Kamel Gamal نشر 16 يوليو 2020 أرسل تقرير نشر 16 يوليو 2020 (معدل) السلام عليكم ,,, انا كنت عايز استورد او احمل بيانات من على الموقعين دول بس للاسف مش عارف نهائى انا استخدمت دالة IMPORT HTML و json وللاسف مافيش اى بيانات عايزه تيجى او تتحمل وبعد سرش طويل اتضحلى ان المواقع ديه معموله بلغه advanced بس مش عارف الداله او الطريقه اللى ممكن تساعدنى فى انى استورد البيانات ديه فياريت حد يساعدنى ويقولى ازاى اقدر استورد البيانات من على المواقع ديه https://fantasy.premierleague.com/leagues/1767595/standings/hhttps://fer2etak.com/Leagues?teamId=111187&gameweekId=196&privateLeagueId=13485&ishth=false https://fantasy.premierleague.com/leagues/1767595/standings/h وشكرااا تم التعديل في 16 يوليو 2020 بواسطة Kamel Gamal اقتباس
0 Nezar Madi نشر 16 يوليو 2020 أرسل تقرير نشر 16 يوليو 2020 و عليكم السلام.. إذا كان الموقع يوفر API ف بإمكانك التواصل مع الAPI الخاص بالخدمة و سحب البيانات منه أما في حال لا يوجد API أنصحك بالبحث على موقع أخر يوفر بيانات مشابة عبر الAPI أفضل من أن تتعب حالك بإستخدام لغات مثل البايثون لعمل ما يعرف بweb scrapers الAPI هو عبارة عن نقطة وصول للبيانات يوفرها مالك الموقع/الخدمة تسمح للتطبيقات ( سوى برامج مكتبية أو مواقع إلكترونية أو تطبيقات هواتف ) بإرسال طلبات إليه و سحب البيانات عن طريقة. هذه مجموعة من أشهر الAPIs التي توفر بيانات النتائج و غيرها في مجال الرياضة : 1 - API-FOOTBALL خاص بكرة القدم 2 - بطول الNBA لكرة السلة API-NBA 3 - Soccer - Sports Open Data كرة قدم 4 - رياضة الكريكيت Cricket Live Scores اقتباس
0 مصطفى القباني نشر 16 يوليو 2020 أرسل تقرير نشر 16 يوليو 2020 تحياتي أستاذ كامل سبب فشل import HTML و JSON هو أن البيانات تعرض بشكل dynamic عن طريق الJavascript، وتظهر فقط عند فتح الموقع من خلال المتصفح. للتأكد من ذلك قم بتجربة الآتي عن طريق بايثون: import requests import os target_link = 'https://fantasy.premierleague.com/leagues/1767595/standings/h' response = requests.get(target_link) print('the output will be in {}'.format(os.getcwd())) open('output.html','w').write(x.text) قمنا في الكود السابق بإرسال request، عن طريق مكتبة requests ثم كتابة الصفحة المرجعة إلى ملف output.html لفحصه. قم بفتح هذا الملف وستجد أن الجداول غير موجودة، وهذا يعني أن الجداول تظهر بإستخدام الJavascript ويتطلب إستخدام المتصفح. الأداة التي يمكن إستخدامها في هذه الحالة هي Selenium، ويمكن استيراد البيانات كالآتي: import selenium.webdriver as webdriver driver = webdriver.Chrome() target_link = 'https://fantasy.premierleague.com/leagues/1767595/standings/h' driver.get(target_link) import pandas as pd tables_in_page = pd.read_html(driver.page_source) for table in tables_in_page: print(table) في الكود السابق قمنا بإستخدام مكتبة pandas وهي مكتبة مهمة في علم البيانات، وقمنا بإستخدام الدالة read_html وهي تقوم بإستخراج الجداول من كود الhtml المعطى لها. وبهذه الطريقة قمنا بجمع البيانات الموجودة في الجدول وهي الآن موجودة في المتغير tables_in_page. اللغة المستخدمة :Python3 المكتبات المستخدمة: requests , selenium, pandas 1 اقتباس
السؤال
Kamel Gamal
السلام عليكم ,,,
انا كنت عايز استورد او احمل بيانات من على الموقعين دول بس للاسف مش عارف نهائى
انا استخدمت دالة IMPORT HTML و json وللاسف مافيش اى بيانات عايزه تيجى او تتحمل
وبعد سرش طويل اتضحلى ان المواقع ديه معموله بلغه advanced بس مش عارف الداله او الطريقه اللى ممكن تساعدنى فى انى استورد البيانات ديه
فياريت حد يساعدنى ويقولى ازاى اقدر استورد البيانات من على المواقع ديه
https://fantasy.premierleague.com/leagues/1767595/standings/h
https://fer2etak.com/Leagues?teamId=111187&gameweekId=196&privateLeagueId=13485&ishth=false https://fantasy.premierleague.com/leagues/1767595/standings/h
وشكرااا
تم التعديل في بواسطة Kamel Gamal
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.