سيُظهر منشور اليوم كيف يمكنك إنشاء نص برمجي في Google Command Line باستخدام Python (الإصدار 2.7.x)
“” “ملاحظة: تم إيقاف Google Web Search API رسميًا اعتبارًا من 1 تشرين الثاني (نوفمبر) 2010. وستستمر في العمل وفقًا لسياسة الإيقاف لدينا ، ولكن عدد الطلبات التي قد تقدمها يوميًا سيكون محدودًا. لذلك ، نشجعك على الانتقال إلى واجهة برمجة تطبيقات البحث المخصص الجديدة. “” ”
لتقديم طلب إلى واجهة برمجة تطبيقات بحث الويب ، يتعين علينا استيراد الوحدات التي نحتاجها.
urllib2
Loads the URL response
urllib
To make use of urlencode
json
Google returns JSON
Code language: JavaScript (javascript)
بعد ذلك نحدد عنوان URL الذي نقوم بالطلب من أجله أيضًا: http://ajax.googleapis.com/ajax/services/search/web؟v=1.0&
لجعلها تفاعلية قليلاً ، سنطلب من المستخدم إدخالاً وحفظ النتيجة في متغير نسميه “استعلام”.
query = raw_input("What do you want to search for ? >> ")
Code language: JavaScript (javascript)
قم بإنشاء كائن استجابة عن طريق تحميل استجابة URL ، بما في ذلك الاستعلام الذي طلبناه أعلاه.
response = urllib2.urlopen (url + query ).read()
# معالجة سلسلة JSON. البيانات = json.loads (استجابة)
من هذه النقطة يمكننا اللعب بالنتائج
GoogleSearch.py
دعونا نرى النص الكامل
import urllib2
import urllib
import json
url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
query = raw_input("What do you want to search for ? >> ")
query = urllib.urlencode( {'q' : query } )
response = urllib2.urlopen (url + query ).read()
data = json.loads ( response )
results = data [ 'responseData' ] [ 'results' ]
for result in results:
title = result['title']
url = result['url']
print ( title + '; ' + url )
Code language: JavaScript (javascript)
افتح محرر نصوص ، انسخ والصق الكود أعلاه.
احفظ الملف باسم GoogleSearch.py واخرج من المحرر.
قم بتشغيل البرنامج النصي: $ python searchGoogle.py
What do you want to search for ? >> python for beginners
BeginnersGuide - Python Wiki; http://wiki.python.org/moin/BeginnersGuide
Python For Beginners; http://www.python.org/about/gettingstarted/
Python For Beginners; https://www.pythonforbeginners.com/
Code language: JavaScript (javascript)