Abdullah Mtiri نشر 22 أغسطس 2023 أرسل تقرير نشر 22 أغسطس 2023 (معدل) مرحبا ! احتاج إلى مساعدة من فضلكم قمت بتصميم كود بايثون عبر الذكاء الإصطناعي الكود جيد ولا توجد به اي مشكله كل مافي الامر عندما اقوم بتشغيل الكود يقول لي "Unable to extract the email input field" علماً ان الصفحه الموجه لها لايوجد بها الا مدخل واحد وهو الـ email ماهو الحل ؟ هل استخرج الحقل مباشرة من الرابط تم التعديل في 22 أغسطس 2023 بواسطة Mustafa Suleiman تعديل عنوان السؤال اقتباس
0 Mustafa Suleiman نشر 22 أغسطس 2023 أرسل تقرير نشر 22 أغسطس 2023 أين الكود وما هي المكتبة التي تستخدمها هل تستخدم BeautifulSoup؟ 1 اقتباس
0 Abdullah Mtiri نشر 22 أغسطس 2023 الكاتب أرسل تقرير نشر 22 أغسطس 2023 بتاريخ 9 دقائق مضت قال Mustafa Suleiman: أين الكود وما هي المكتبة التي تستخدمها هل تستخدم BeautifulSoup؟ نعم استخدم "BeautifulSoup" هذه هو الكود : import requests from bs4 import BeautifulSoup # Function to check if the email is registered on Instagram def check_email(email): url = "https://www.instagram.com/accounts/password/reset/?source=fxcal" try: # Sending a GET request to the URL response = requests.get(url) # Parsing the HTML content using BeautifulSoup soup = BeautifulSoup(response.text, "html.parser") # Extracting the input field where the email is entered email_input = soup.find("input", {"name": "email"}) # Checking if the email input field exists if email_input: # Checking if the value of the email input field matches the given email if email_input.get("value") == email: return "Email is registered on Instagram" else: return "Unable to extract the email input field" except requests.exceptions.RequestException as e: return f"Error: {e}" return "Email is not registered on Instagram" # Reading the emails from a text file with open("emails.txt", "r") as file: emails = file.readlines() emails = [email.strip() for email in emails] # Checking each email for email in emails: result = check_email(email) print(f"{email}: {result}") وهذه هو الرابط المقصود : https://www.instagram.com/accounts/password/reset/?source=fxcal الفكرة : يقوم الكود بفتح الصفحه وثم يقوم بفحص الإيميلات الموجوده مسبقا في txt .. هل هي مسجله؟ ام لا؟ اقتباس
0 Mustafa Suleiman نشر 22 أغسطس 2023 أرسل تقرير نشر 22 أغسطس 2023 المشكلة هو أنك تحاول استخراج محتوى ويب يتم إنشاؤه ديناميكيًا باستخدام جافا سكريبت، أي تقوم بإنشاء محتواها باستخدام جافا سكريبت بعد تحميل الصفحة الأولية من HTML و مكتبة requests التي استخدمتها قادرة فقط على الحصول على المحتوى الثابت من HTML الذي يظهر أولاً، لالتقاط المحتوى الذي يتم تحميله ديناميكيًا، ولذلك عليك باستخدام selenium الذي يحاكي متصفحًا حقيقيًا ويمكنه التعامل مع جافا سكريبت. لذلك الكود بعد التعديل واستخدام مكتبة selenium يصبخ كالتالي وعليك قراءة التعلقيات أيضًا: from bs4 import BeautifulSoup from selenium import webdriver import time # تعريف الدالة للتحقق مما إذا كان البريد الإلكتروني مسجل في إنستجرام def check_email(email, driver): url = "https://www.instagram.com/accounts/password/reset/?source=fxcal" try: # فتح الرابط في المتصفح driver.get(url) time.sleep(2) # الانتظار لتحميل المحتوى الديناميكي # تحليل مصدر الصفحة باستخدام BeautifulSoup soup = BeautifulSoup(driver.page_source, "html.parser") # استخراج حقل إدخال البريد الإلكتروني email_input = soup.select_one('input[name="cppEmailOrUsername"]') # التحقق مما إذا كان حقل إدخال البريد الإلكتروني موجودًا if email_input: # استخراج قيمة حقل إدخال البريد الإلكتروني email_value = email_input.get("value") # التحقق مما إذا كانت قيمة حقل إدخال البريد الإلكتروني تطابق البريد المعطى if email_value == email: return "البريد الإلكتروني مسجل في إنستجرام" else: return "تعذر استخراج حقل إدخال البريد الإلكتروني" except Exception as e: return f"خطأ: {e}" return "البريد الإلكتروني غير مسجل في إنستجرام" # إعداد مشغل Chrome driver = webdriver.Chrome() # قراءة البريد الإلكتروني من ملف النص with open("emails.txt", "r") as file: emails = file.readlines() emails = [email.strip() for email in emails] # التحقق من كل بريد إلكتروني for email in emails: result = check_email(email, driver) print(f"{email}: {result}") # إغلاق مشغل Chrome driver.quit() ولا تنسى إنشاء ملف باسم emails.txt بجانب ملف المشروع وضع به الإيميلات التي تريد إختبارها. أيضًا لاحظ أنني قمت بتعديل اسم الحقل الذي نريد قراءته فهو باسم cppEmailOrUsername وليس email تستطيع تفقد ذلك من خلال أدوات المطور في المتصفح. اقتباس
السؤال
Abdullah Mtiri
مرحبا !
احتاج إلى مساعدة من فضلكم
قمت بتصميم كود بايثون عبر الذكاء الإصطناعي
الكود جيد ولا توجد به اي مشكله
كل مافي الامر عندما اقوم بتشغيل الكود
يقول لي "Unable to extract the email input field"
علماً ان الصفحه الموجه لها لايوجد بها الا مدخل واحد وهو الـ email ماهو الحل ؟
هل استخرج الحقل مباشرة من الرابط
تم التعديل في بواسطة Mustafa Suleimanتعديل عنوان السؤال
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.