اذهب إلى المحتوى

السؤال

نشر
import os
import requests

urls = [
    'https://www.noor-book.com/book/review/577461'
]

assa = '.\Outputs'

for url in urls:
    responste = requests.get(url)
    if responste.status_code == 20:
        file_path = os.path.join(assa, os.path.basename(url))
        with open(file_path, 'wb') as f:
            f.write(responste.content)

اواجة مشكلة في هذا الكود لم ينزل من المتصفح كتاب (pdf)

Recommended Posts

  • 0
نشر

حاليًا تقوم بفحص responste.status_code == 20، ولكن كود الحالة الصحيح لاستجابة HTTP ناجحة هو 200، عليك تصحيح الشرط إلى responste.status_code == 200.

أيضًا من الجيد أن تتعامل مع حالات عدم نجاح الاستجابة، كطباعة رسالة خطأ عندما يكون كود الحالة غير 200، والتحقق من وجود المجلد الذي يتم حفظ الملف فيه (assa) قبل محاولة حفظ الملف، وتستطيع استخدام os.makedirs(assa, exist_ok=True) للتأكد من وجود المجلد.

import os
import requests

urls = [
    'https://www.noor-book.com/book/review/577461'
]

assa = '.\Outputs'

# التأكد من وجود مجلد الإخراج
os.makedirs(assa, exist_ok=True)

for url in urls:
    response = requests.get(url)
    
    # التحقق مما إذا كانت الطلب ناجحة (كود الحالة 200)
    if response.status_code == 200:
        # إضافة امتداد الملف الصحيح إلى اسم الملف
        file_path = os.path.join(assa, os.path.basename(url) + '.pdf')
        
        with open(file_path, 'wb') as f:
            f.write(response.content)
    else:
        # طباعة رسالة خطأ إذا فشل الطلب
        print(f"Failed to download {url}. Status code: {response.status_code}")

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...