تريد المساعدة؟ إليك خياراتك:","كرانش بيس","نبذة عنا","شكراً للجميع على الدعم الرائع!","روابط سريعة","برنامج الإحالة","بريميوم","ProxyScrape تجربة متميزة","مدقق الوكلاء عبر الإنترنت","أنواع الوكلاء","الدول الوكيلة","حالات استخدام الوكيل","مهم","سياسة ملفات تعريف الارتباط","إخلاء المسؤولية","سياسة الخصوصية","الشروط والأحكام","وسائل التواصل الاجتماعي","فيسبوك","لينكد إن","تويتر","كورا","برقية","الخلاف","\n © حقوق الطبع والنشر © 2024 - ثيب بي في | بروغسترات 18 | 2812 ميكلين | بلجيكا | ضريبة القيمة المضافة BE 0749 716 760\n"]}
كيف يمكنك سحب معلومات مهمة من المواقع الإلكترونية بسرعة وكفاءة؟ يستغرق استخراج البيانات يدويًا الكثير من الوقت. يمكنك استخدام كشط الويب، وهي طريقة آلية للحصول على بيانات غير جدولية أو غير منظمة بشكل جيد من المواقع الإلكترونية. لاحقًا، يمكنك تحويل تلك البيانات إلى تنسيق منظم وقابل للاستخدام مثل جدول بيانات
كيف يمكنك سحب معلومات مهمة من المواقع الإلكترونية بسرعة وكفاءة؟ يستغرق استخراج البيانات يدويًا الكثير من الوقت. يمكنك استخدام كشط الويب، وهي طريقة آلية للحصول على بيانات غير جدولية أو غير منظمة بشكل جيد من المواقع الإلكترونية. لاحقًا، يمكنك تحويل تلك البيانات إلى تنسيق منظم وقابل للاستخدام مثل جدول بيانات أو ملف .csv.
يسمح لك تجريف الويب بأرشفة البيانات وتتبع تغييرات البيانات عبر الإنترنت. تستخدمه الشركات على نطاق واسع لأغراض مختلفة. على سبيل المثال، تستخدمه المتاجر الإلكترونية لكشط أسعار منافسيها والصفحات المتاحة للجمهور. ثم يستخدمون هذه المعلومات لتعديل أسعارهم. هناك ممارسة شائعة أخرى لكشط الويب وهي كشط جهات الاتصال، حيث تقوم المؤسسات بجمع البيانات الشخصية مثل أرقام الهواتف أو عناوين البريد الإلكتروني لأغراض التسويق.
لماذا يتعين على شخص ما استخراج كميات كبيرة من المعلومات من المواقع الإلكترونية؟ لفهم ذلك، انظر إلى التطبيقات التالية لكشط الويب.
يمكنك كشط البيانات من المواقع الإلكترونية باتباع الخطوات التالية.
المكتبات التي يمكننا استخدامها لكشط الويب في بايثون هي
بانداس - تُستخدم بانداس لمعالجة البيانات وتحليلها. يمكنك استخدام هذه المكتبة لاستخراج البيانات وتخزينها بالصيغة المطلوبة.
حساء جميل - هي حزمة Python لتحليل مستندات HTML و XML. تقوم بإنشاء أشجار التحليل التي تساعد في استخراج البيانات من المواقع الإلكترونية بسهولة.
الطلبات - إنها مكتبة HTTP بسيطة.
سنستخدم هذا الموقع لاستخراج عدد حالات كوفيد-19. بعد ذلك، سنقوم بتحليل البيانات وإنشاء بعض التصورات.
يمكنك استيراد الطلبات و BeautifulSoup في Python لكشط الويب، كما هو موضح أدناه.
استيراد الطلبات
من bs4 bs4 استيراد الحساء الجميل
حدد عنوان URL الخاص بالموقع الإلكتروني الذي يجب عليك كشط البيانات منه. عليك استخدام طريقة requests.get() لإرسال طلب GET إلى عنوان URL المحدد. علاوة على ذلك، يجب عليك إنشاء مُنشئ BeautifulSoup الذي سيأخذ وسيطتي السلسلة كما هو موضح في الكود أدناه.
عنوان url = 'https://www.worldometers.info/coronavirus/countries-where-coronavirus-has-spread/'
الصفحة = الطلبات.get(url)
الحساء = الحساء الجميل(page.text, 'html.parser')
البيانات = []
يمكنك كشط كل عنصر في جدول URL'sURL'sURL باستخدام طريقة soup.find_all(). فهو يُرجع كائنًا يوفر وصولًا قائمًا على الفهرس إلى التكرارات التي تم العثور عليها ويمكن طباعته باستخدام حلقة for أو بينما.
data_iterator = iter(soup.find_all('td'))
يمكنك استخدام حلقة بينما صحيح التي تستمر في التكرار حتى تتوافر بيانات في المُكرر.
بينما صحيح
حاول:
البلد = التالي(data_iterator). text
تم التأكيد = التالي(data_iterator). text
الوفيات = التالي(data_iterator). text
قارة = التالي(data_iterator).text
بالنسبة للعمودين "المؤكد" و"الوفيات"، تأكد من إزالة الفواصل وتحويلها إلى int.
data.append((
الدولة,
(تم التأكيد.replace(', ', '')),
(الوفيات.replace(',', '')),
قارة
))
باستثناء إيقاف التكرار:
استراحة
عندما يكون عدد العناصر المتبقية للتكرار هو صفر، سيظهر خطأ StopIteration.
يمكنك استخراج البيانات من الموقع الإلكتروني بعد تشغيل الكود أعلاه. عليك إنشاء إطار بيانات Pandas لتحليل البيانات بشكل أكبر. في الكود أدناه، قمنا بفرز البيانات حسب عدد حالات كوفيد المؤكدة.
استيراد مكتبة بانداس لإنشاء إطار بيانات.
data.sort(key(key = lambda row: row[1], reverse = True)
استيراد بانداس ك pd
df = pd.DataFrame(data,columns='country','number of cases','deaths','continent'],dtype=float)
df.head()
df['عدد الحالات'] = [x.replace('، ',', '') ل x في df ['عدد الحالات']]
df[' Number of cases] = pd.to_numeric(df['Number of cases])
دف
ستحصل على الناتج أدناه:
للحصول على معلومات حول إطار البيانات، استخدم df.info().
df.info()
سننشئ عمودًا جديدًا باسم معدل_الموت كما هو موضح أدناه.
dff = df.sort_values(حسب ='عدد الحالات'، تصاعدي = خطأ)
dff['معدل الوفيات] = (dff['الوفيات]/ dff['عدد الحالات])*100
dff.head()
يكون الناتج على النحو التالي.
يسمح لك الخادم الوكيل باستخدام عنوان IP فريد للوصول إلى المعلومات التي ترغب في كشطها. وبهذه الطريقة، لا يرى موقع الويب عنوان IP الفعلي الخاص بك مما يسمح لك بكشط البيانات دون الكشف عن هويتك. عليك استخدام البروكسي لكشط الويب للأسباب التالية.
يمكنك استخدام الوكيلين أدناه لكشط البيانات من المواقع الإلكترونية.
أنت تعلم أن التصور المرئي للبيانات هو التمثيل البياني للبيانات أو المعلومات. يمكنك استخدام أدوات مرئية مثل المخططات والخرائط والرسوم البيانية كطريقة سهلة لفهم البيانات الممثلة. دعونا نرى كيف يمكننا تصور البيانات المستخرجة من هذا الموقع باستخدام أدوات تصور البيانات.
يجب عليك استيراد المكتبات التالية لتصور البيانات كما هو موضح أدناه.
استيراد سيبورن باسم sns
استيراد matplotlib.pyplot باسم plt
من بيلاب استيراد rcParams
يمكنك رسم مخطط زوجي لتوضيح العلاقات الزوجية في مجموعة بيانات. يمكنك تنفيذ ذلك بسهولة باستخدام الكود أدناه ويمكنك تحديد الاتجاهات في البيانات لمتابعة التحليل.
rcParams['figure.figsize'] = 15، 10
من matplotlib.pyplot استيراد الشكل
شكل(num=None, figsize=(20, 6), dpi=80, facecolor='w', edgecolor='k')
sns.pairplot(dff,hue='Continent')
ستحصل على الناتج على النحو التالي.
يمكنك رسم مخطط شريطي يعرض البيانات الفئوية على شكل أشرطة مستطيلة ويقارن بين قيم الفئات المختلفة في البيانات.
sns.barplot(x = 'البلد'، y = 'عدد الحالات'، البيانات = dff.head(10))
يكون الناتج على النحو التالي.
يمكنك فهم العلاقة بين القيم العددية باستخدام مخطط الانتشار. وهو يستخدم النقاط لتمثيل العلاقة بين المتغيرات.
sns.scatterplot(x = "عدد الحالات"، y = "الوفيات",hue = "القارة",data = dff)
يكون الناتج على النحو التالي.
في الكود أدناه، سنقوم بتجميع البيانات حسب القارات وفرزها حسب عدد حالات كوفيد.
dfg = dff.groupby(by = 'Continent',as_index = False).agg({'Number of cases':sum,'Deaths':sum})
dfgg = dfg[1:]
df1 = dfgg.sort_values(by = 'Number of cases',ascending = False)
df1['Death_rate'] = (df1['Deaths']/df1['Number of cases'])*100
df1.sort_values(by = 'Death_rate',ascending = False)
يكون الناتج على النحو التالي.
والآن، سنقوم برسم مخطط شريطي بين "القارة" و"معدل_الموت" كما هو موضح أدناه.
sns.barplot(x = 'قارة'، y = 'معدل_الموت'، البيانات = df1.sort_values(by = 'Death_rate'، تصاعدي = False)))
يكون الناتج على النحو التالي.
يُظهر هذا المخطط العمودي أن معدل الوفيات هو الأعلى في أمريكا الجنوبية والأدنى في أستراليا من بين جميع البلدان.
قم بتثبيت texttable لإنشاء جدول ASCII بسيط. ثم قم باستيراده كـ tt.
!pip install texttable
استيراد texttable ك ttable
عليك إنشاء كائن جدول نصي كما هو موضح أدناه. عليك إضافة صف فارغ في بداية الجدول للرؤوس ومحاذاة الأعمدة.
جدول = tt.Texttable()
table.add_صفوف([(لا شيء، لا شيء، لا شيء، لا شيء، لا شيء)] + البيانات) table.set_cols_align(('c'، 'c'، 'c'، ' c')) # يشير الحرف 'l' إلى اليسار والحرف ' c ' إلى الوسط والحرف ' r' إلى اليمين
table.header((' البلد'، 'عدد الحالات'، ' الوفيات'، ' القارة')))
طباعة(table.draw())
هنا، يمثل الإخراج بعض صفوف الجدول على النحو التالي.
باستخدام كشط الويب، يمكنك استخراج كميات كبيرة من البيانات من مواقع الويب بسرعة وكفاءة. يمكنك تحويل البيانات غير المنظمة المستخرجة إلى تنسيق قابل للاستخدام مثل ملف .csv. لقد رأينا أنه يمكننا كشط البيانات من الويب باستخدام وحدتين هما Pandas و BeautifulSoup. يسمح لك البروكسي باستخراج البيانات من الويب بشكل مجهول. يمكنك استخدام إما مركز البيانات أو البروكسيات السكنية لكشط الويب. البروكسيات السكنية أكثر موثوقية ولكنها مكلفة أكثر من البروكسيات في مراكز البيانات. علاوة على ذلك، يمكننا إجراء تحليل للبيانات لاستخلاص معلومات ثاقبة بناءً على احتياجاتنا. في هذه المقالة، قمنا بتحليل البيانات باستخدام أدوات تصور البيانات مثل المخططات الشريطية والمخططات الزوجية والمخططات المبعثرة.