"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > دليل لبناء تطبيق بسيط لتخريد الويب بيثون

دليل لبناء تطبيق بسيط لتخريد الويب بيثون

تم النشر بتاريخ 2024-08-29
تصفح:320

Guide to Building a Simple Python Web Scraping Application

عادةً ما يتضمن استخراج بيانات الويب في Python إرسال طلبات HTTP إلى موقع الويب المستهدف وتحليل بيانات HTML أو JSON التي تم إرجاعها. فيما يلي مثال لتطبيق بسيط لتجميع الويب يستخدم مكتبة الطلبات لإرسال طلبات HTTP ويستخدم BeautifulSouplibrary لتحليل HTML. ‌

تقوم بايثون ببناء حالة تجريف ويب بسيطة

أولاً، تأكد من تثبيت الطلبات ومكتبات beautifulsoup4. إذا لم يكن الأمر كذلك، فيمكنك تثبيتها باستخدام الأمر التالي:‌

طلبات تثبيت النقاط beautifulsoup4
بعد ذلك، يمكنك كتابة برنامج Python النصي كما يلي لاستخراج بيانات الشبكة:

import requests 
from bs4 import BeautifulSoup 

# URL of the target website 
url = 'http://example.com' 

# Sending HTTP GET request 
response = requests.get(url) 

# Check if the request was successful 
if response.status_code == 200: 
    # Parsing HTML with BeautifulSoup 
    soup = BeautifulSoup(response.text, 'html.parser') 

    # Extract the required data, for example, extract all the titles 
    titles = soup.find_all('h1') 

    # Print title 
    for title in titles: 
        print(title.text) 
else: 
    print('Request failed,status code:', response.status_code) 

في هذا المثال، قمنا أولاً باستيراد الطلبات والمكتبات الجميلة. بعد ذلك، قمنا بتحديد عنوان URL لموقع الويب المستهدف وأرسلنا طلب HTTP GET باستخدام طريقة request.get(). إذا كان الطلب ناجحًا (رمز الحالة هو 200)، فإننا نقوم بتحليل HTML الذي تم إرجاعه باستخدام BeautifulSoup واستخراج جميع علامات

، والتي تحتوي عادةً على العنوان الرئيسي للصفحة. وأخيرًا، نقوم بطباعة المحتوى النصي لكل عنوان.

يرجى ملاحظة أنه في مشروع تجريف الويب الفعلي، يتعين عليك الالتزام بقواعد ملف robots.txt لموقع الويب المستهدف واحترام حقوق الطبع والنشر وشروط الاستخدام الخاصة بموقع الويب. بالإضافة إلى ذلك، قد تستخدم بعض مواقع الويب تقنيات مضادة للزاحف، مثل تحميل المحتوى ديناميكيًا، والتحقق من رمز التحقق، وما إلى ذلك، مما قد يتطلب استراتيجيات معالجة أكثر تعقيدًا.

لماذا تحتاج إلى استخدام وكيل لتجريد الويب؟

يعد استخدام وكيل للزحف إلى مواقع الويب طريقة شائعة للتحايل على قيود IP وآليات مكافحة الزحف. يمكن للخوادم الوكيلة أن تعمل كوسطاء، حيث تقوم بإعادة توجيه طلباتك إلى موقع الويب المستهدف وإعادة الرد إليك، بحيث يتمكن موقع الويب المستهدف من رؤية عنوان IP الخاص بالخادم الوكيل فقط بدلاً من عنوان IP الحقيقي الخاص بك.

مثال بسيط على تجريف الويب باستخدام الوكيل

في بايثون، يمكنك استخدام مكتبة الطلبات لإعداد الوكيل. فيما يلي مثال بسيط يوضح كيفية استخدام الوكيل لإرسال طلب HTTP:

import requests 

# The IP address and port provided by swiftproxy 
proxy = { 
    'http': 'http://45.58.136.104:14123', 
    'https': 'http://119.28.12.192:23529', 
} 

# URL of the target website 
url = 'http://example.com' 

# Sending requests using a proxy 
response = requests.get(url, proxies=proxy) 

# Check if the request was successful 
if response.status_code == 200: 
    print('Request successful, response content:‌', response.text) 
else: 
    print('Request failed,status code:‌', response.status_code) 

لاحظ أنك بحاجة إلى استبدال عنوان IP للخادم الوكيل والمنفذ بعنوان الخادم الوكيل الفعلي. تأكد أيضًا من أن الخادم الوكيل موثوق به ويدعم موقع الويب الذي تريد الزحف إليه. قد تكتشف بعض مواقع الويب الطلبات الواردة من خوادم بروكسي معروفة وتحظرها، لذلك قد تحتاج إلى تغيير خوادم بروكسي بانتظام أو استخدام خدمة بروكسي أكثر تقدمًا.

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/lewis_kerr_2d0d4c5b886b02/guide-to-building-a-simple-python-web-scraping-application- aj3؟1 إذا كان هناك أي انتهاك ، يرجى الاتصال study_golang@golang@d
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3