الفرق بين المراجعتين لصفحة: «Python/urllib/robotparser»

من موسوعة حسوب
< Python‏ | urllib
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الوحدة <code>urllib.robotparser‎‎</code> في بايثون}}</noinclude> تقدّم هذه الوحدة صنفًا مفردًا هو...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الوحدة <code>urllib.robotparser‎‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الوحدة <code>urllib.robotparser‎‎</code> في بايثون}}</noinclude>


تقدّم هذه الوحدة صنفًا مفردًا هو RobotFileParser والذي يحدّد ما إذا كان بإمكان وكيل المستخدم user agent جلب عنوان URL من الموقع الإلكتروني الذي نشر ملف robots.txt. للاطلاع على المزيد من التفاصيل حول بنية ملفات robots.txt يمكن الرجوع إلى http://www.robotstxt.org/orig.html.
تقدّم هذه الوحدة صنفًا مفردًا هو <code>RobotFileParser</code> والذي يحدّد ما إذا كان بإمكان وكيل المستخدم user agent جلب عنوان URL من الموقع الإلكتروني الذي نشر ملف <code>robots.txt</code>. للاطلاع على المزيد من التفاصيل حول بنية ملفات <code>robots.txt</code> يمكن الرجوع إلى http://www.robotstxt.org/orig.html.


== الصنف urllib.robotparser.RobotFileParser(url='')‎ ==
== الصنف <code>urllib.robotparser.RobotFileParser(url=)‎ ==


يقدّم هذا الصنف توابع لقراءة الأسئلة عن ملف robots.txt وتحليلها والإجابة عن الأسئلة المتعلّقة بها في عنوان URL المعطى.
يقدّم هذا الصنف توابع لقراءة الأسئلة عن ملف <code>robots.txt</code> وتحليلها والإجابة عن الأسئلة المتعلّقة بها في عنوان URL المعطى.


=== set_url(url)‎ ===
=== التابع <code>set_url(url)‎</code> ===


يعين التابع عنوان URL الذي يشير إلى ملف robots.txt.
يعين التابع عنوان URL الذي يشير إلى ملف <code>robots.txt</code>.


=== read()‎ ===
=== التابع <code>read()‎</code> ===
‎يقرأ التابع عنوان URL الخاص بملف <code>robots.txt</code> ويرسله إلى المحلّ.
 
=== التابع <code>parse(lines)‎</code> ===
يقرأ التابع عنوان URL الخاص بملف robots.txt ويرسله إلى المحلّ.
 
 
=== parse(lines)‎ ===
يحلّل التابع الأسطر المعطاة في الملف.
يحلّل التابع الأسطر المعطاة في الملف.
=== التابع <code>can_fetch(useragent, url)‎</code> ===


يعيد التابع القيمة <code>True</code> إن كان مسموحًا لوكيل المستخدم المعطى أن يجلب عنوان URL بالاعتماد على القواعد المضمّنة في ملف <code>robots.txt</code> لمحلّل.


=== can_fetc(useragent, url)‎ ===
=== التابع <code>mtime()‎</code> ===
 
 
يعيد التابع القيمة True إن كان مسموحًا لوكيل المستخدم المعطى أن يجلب عنوان URL بالاعتماد على القواعد المضمّنة في ملف robots.txt لمحلّل.
 
=== mtime()‎ ===
 
يعيد التابع وقت آخر عملية جلب لملف robots.txt، وهو أمر مفيد بالنسبة إلى عناكب الويب طويلة المدى والتي تحتاج إلى التحقق من ملفات robots.txt الجديدة بصورة درية.


=== modified()‎ ===
يعيد التابع وقت آخر عملية جلب لملف <code>robots.txt</code>، وهو أمر مفيد بالنسبة إلى عناكب الويب طويلة المدى والتي تحتاج إلى التحقق من ملفات <code>robots.txt</code> الجديدة بصورة درية.


يعين التابع الوقت الحالي كوقتٍ لآخر عملية جلب لملف robots.txt.
=== التابع <code>modified()‎</code> ===


يعين التابع الوقت الحالي كوقتٍ لآخر عملية جلب لملف <code>robots.txt</code>.
=== التابع <code>crawldelay(useragent)‎</code> ===


=== crawldelay(useragent)‎ ===
يعيد التابع قيمة المعامل <code>Crawl-delay</code> من ملف <code>robots.txt</code> لوكيل المستخدم المعطى. إن لم يكن هذا المعامل موجودًا أو لم يكن نطبق على وكيل المستخدم المعطى أو كانت المدخلات المرتبطة بهذا المعامل ذات صياغة غير صحيحة في ملف <code>robots.txt</code> فإنّ التابع سيعيد القيمة <code>None</code>.


يعيد التابع قيمة المعامل Crawl-delay من ملف robots.txt لوكيل المستخدم المعطى. إن لم يكن هذا المعامل موجودًا أو لم يكن نطبق على وكيل المستخدم المعطى أو كانت المدخلات المرتبطة بهذا المعامل ذات صياغة غير صحيحة في ملف robots.txt فإنّ التابع سيعيد القيمة None.
'''ملاحظة:''' هذا التابع جديد في الإصدار 3.6 من بايثون.


هذا التابع جديد في الإصدار 3.6 من بايثون.
=== التابع <code>request_rate(useragent)‎</code> ===


=== request_rate(useragent)‎ ===
يعيد التابع محتويات المعامل <code>Request-rate</code> من ملف <code>robots.txt</code> على هيئة صفّ مسمّى <code>RequestRate(requests, seconds)</code>. إن لم يكن هذا المعامل موجودًا أو لم يكن نطبق على وكيل المستخدم المعطى أو كانت المدخلات المرتبطة بهذا المعامل ذات صياغة غير صحيحة في ملف <code>robots.txt</code> فإنّ التابع سيعيد القيمة <code>None</code>.


يعيد التابع محتويات المعامل Request-rate من ملف robots.txt على هيئة صفّ مسمّى RequestRate(requests, seconds)‎. إن لم يكن هذا المعامل موجودًا أو لم يكن نطبق على وكيل المستخدم المعطى أو كانت المدخلات المرتبطة بهذا المعامل ذات صياغة غير صحيحة في ملف robots.txt فإنّ التابع سيعيد القيمة None.
'''ملاحظة:''' هذا التابع جديد في الإصدار 3.6 من بايثون.


ملاحظة: هذا التابع جديد في الإصدار 3.6 من بايثون.
== أمثلة ==
يبين المثال التالي طريقة استخدام الصنف <code>RobotFileParser</code>:<syntaxhighlight lang="python3">
>>> import urllib.robotparser
>>> rp = urllib.robotparser.RobotFileParser()
>>> rp.set_url("http://www.musi-cal.com/robots.txt")
>>> rp.read()
>>> rrate = rp.request_rate("*")
>>> rrate.requests
3
>>> rrate.seconds
20
>>> rp.crawl_delay("*")
6
>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")
False
>>> rp.can_fetch("*", "http://www.musi-cal.com/")
True
</syntaxhighlight>


يبين المثال التالي طريقة استخدام الصنف RobotFileParser:
== مصادر ==
* [https://docs.python.org/3/library/urllib.robotparser.html صفحة Parser for robots.txt في توثيق بايثون الرسمي.]
[[تصنيف:Python]]
[[تصنيف:Python Modules]]

مراجعة 19:39، 6 فبراير 2019


تقدّم هذه الوحدة صنفًا مفردًا هو RobotFileParser والذي يحدّد ما إذا كان بإمكان وكيل المستخدم user agent جلب عنوان URL من الموقع الإلكتروني الذي نشر ملف robots.txt. للاطلاع على المزيد من التفاصيل حول بنية ملفات robots.txt يمكن الرجوع إلى http://www.robotstxt.org/orig.html.

الصنف urllib.robotparser.RobotFileParser(url=)‎

يقدّم هذا الصنف توابع لقراءة الأسئلة عن ملف robots.txt وتحليلها والإجابة عن الأسئلة المتعلّقة بها في عنوان URL المعطى.

التابع set_url(url)‎

يعين التابع عنوان URL الذي يشير إلى ملف robots.txt.

التابع read()‎

‎يقرأ التابع عنوان URL الخاص بملف robots.txt ويرسله إلى المحلّ.

التابع parse(lines)‎

يحلّل التابع الأسطر المعطاة في الملف.

التابع can_fetch(useragent, url)‎

يعيد التابع القيمة True إن كان مسموحًا لوكيل المستخدم المعطى أن يجلب عنوان URL بالاعتماد على القواعد المضمّنة في ملف robots.txt لمحلّل.

التابع mtime()‎

يعيد التابع وقت آخر عملية جلب لملف robots.txt، وهو أمر مفيد بالنسبة إلى عناكب الويب طويلة المدى والتي تحتاج إلى التحقق من ملفات robots.txt الجديدة بصورة درية.

التابع modified()‎

يعين التابع الوقت الحالي كوقتٍ لآخر عملية جلب لملف robots.txt.

التابع crawldelay(useragent)‎

يعيد التابع قيمة المعامل Crawl-delay من ملف robots.txt لوكيل المستخدم المعطى. إن لم يكن هذا المعامل موجودًا أو لم يكن نطبق على وكيل المستخدم المعطى أو كانت المدخلات المرتبطة بهذا المعامل ذات صياغة غير صحيحة في ملف robots.txt فإنّ التابع سيعيد القيمة None.

ملاحظة: هذا التابع جديد في الإصدار 3.6 من بايثون.

التابع request_rate(useragent)‎

يعيد التابع محتويات المعامل Request-rate من ملف robots.txt على هيئة صفّ مسمّى RequestRate(requests, seconds)‎. إن لم يكن هذا المعامل موجودًا أو لم يكن نطبق على وكيل المستخدم المعطى أو كانت المدخلات المرتبطة بهذا المعامل ذات صياغة غير صحيحة في ملف robots.txt فإنّ التابع سيعيد القيمة None.

ملاحظة: هذا التابع جديد في الإصدار 3.6 من بايثون.

أمثلة

يبين المثال التالي طريقة استخدام الصنف RobotFileParser:

>>> import urllib.robotparser
>>> rp = urllib.robotparser.RobotFileParser()
>>> rp.set_url("http://www.musi-cal.com/robots.txt")
>>> rp.read()
>>> rrate = rp.request_rate("*")
>>> rrate.requests
3
>>> rrate.seconds
20
>>> rp.crawl_delay("*")
6
>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")
False
>>> rp.can_fetch("*", "http://www.musi-cal.com/")
True

مصادر