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

السؤال

Recommended Posts

  • 0
نشر

نستخدم الوسيط parse_only  والوحدة SoupStrainer والتي من خلالها نحدد أي جزء يجب استخراجه. كما يلي:

# استيراد الوحدات اللازمة
from bs4 import BeautifulSoup
import requests
#  تحديد العنوان الهدف
url="https://en.wikipedia.org/wiki/Nike,_Inc."
# لكي لايتم اعتبارنا بريد عشوائي وبالتالي تجنب الحظر user agent وإضافة  Header  تعريف 
HEADERS = ({'User-Agent':
		'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36\
		(KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',
			'Accept-Language': 'en-US, en;q=0.5'})
# GET ارسال طلب 
request = requests.get(url, headers= HEADERS)

الآن نستخدم الوسيط parse_only  في باني bs4 ونمرر له كائن SoupStrainer لتصفية الأجزاء التي نحتاجها فقط من الموقع. لاحظ أن الشرطة السفلية بعد class لن تكون موجودة في حالة تصفية العناصر بناءً على معرفاتهم (IDs). في هذه الحالة، نريد فقط تحليل العناصر التي لها الصنف "mw-headline". 

# استيراد الوحدات اللازمة
from bs4 import BeautifulSoup,SoupStrainer
import requests
#  تحديد العنوان الهدف
url="https://en.wikipedia.org/wiki/Nike,_Inc."
# لكي لايتم اعتبارنا بريد عشوائي وبالتالي تجنب الحظر user agent وإضافة  Header  تعريف 
HEADERS = ({'User-Agent':
		'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36\
		(KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36',
			'Accept-Language': 'en-US, en;q=0.5'})
# GET ارسال طلب 
request = requests.get(url, headers= HEADERS)
# استخراج المحتويات
htmldata=request.content
# BeautifulSoup تحليل الملف الذي تم الحصول عليه من خلال 
soup = BeautifulSoup(htmldata, "lxml",
                     parse_only = SoupStrainer(
                       'span', class_ = 'mw-headline'))
print(soup.prettify())

الخرج:

"""
<!DOCTYPE html>
<span class="mw-headline" id="Origins_and_history">
 Origins and history
</span>
<span class="mw-headline" id="Acquisitions">
 Acquisitions
</span>
<span class="mw-headline" id="Finance">
 Finance
</span>
<span class="mw-headline" id="Logo_evolution">
 Logo evolution
</span>
<span class="mw-headline" id="Products">
 Products
</span>
<span class="mw-headline" id="Sports_apparel">
 Sports apparel
</span>
<span class="mw-headline" id="Street_fashions">
 Street fashions
</span>
<span class="mw-headline" id="Collectibles">
 Collectibles
</span>
<span class="mw-headline" id="Headquarters">
..
..
..
"""

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...