لتكون قادرًا على استخدام هذه المكتبة ، تحتاج إلى تمكين Google Custom Search API وإنشاء بيانات اعتماد مفتاح API وتعيين مشروع:
تفضل بزيارة https://console.developers.google.com وإنشاء مشروع.
تفضل بزيارة https://console.developers.google.com/apis/library/customsearch.googleapis.com وتمكين "API Search Custom" لمشروعك.
تفضل بزيارة https://console.developers.google.com/apis/credentials وقم بإنشاء بيانات اعتماد مفتاح API لمشروعك.
تفضل بزيارة https://cse.google.com/cse/all وفي نموذج الويب حيث تقوم بإنشاء/تحرير خيار تمكين محرك البحث المخصص "بحث الصور" وللخيار "المواقع للبحث" ، حدد "ابحث عن الويب بالكامل ولكن التأكيد مواقع شملتها ".
بعد إعداد حساب مطوري Google الخاص بك ومشروع ، كان يجب تزويدك بمفتاح API للمطورين والمشروع CX.
تثبيت الحزمة من pypi.org:
> PIP تثبيت google-images-search
# بدون متغيرات البيئة:> gimages -k __your_dev_api_key__ -c __your_project_cx__ Search -Q Puries
# مع متغيرات البيئة:> تصدير gcs_developer_key = __
# ابحث فقط (لا تنزيل وتغيير حجم):> GIMAGES Search -Q Puppies
# ابحث وتنزيل فقط (لا تغيير حجم):> GIMAGES Search -Q Puppies -D/Path/On/الخاص بك/محرك/WHER
# البحث والتنزيل وتغيير حجمه:> GIMAGES Search -Q Puppies -D / Path / -W 500 -H 500
من google_images_search ، استيراد GoogleImagessearch# يمكنك توفير مفتاح API و CX باستخدام الوسائط ، أو يمكنك تعيين متغيرات البيئة: gcs_developer_key ، gcs_cxgis = googleimagessearch ('your_dev_ape_key' ، 'your_projouse_cx') أدناه للحصول على مرجع سهل.# لـ Param الذي تم وضع علامة عليه بـ '##':# - Multiselect غير ممكن حاليًا. اختر خيارًا واحدًا فقط# - يمكن أيضًا حذف هذا البارطة من _search_params إذا كنت لا ترغب في تحديد أي value_search_params = {'q': '...' ، 'num': 10 ، 'fileType': 'jpg | gif | png '، "الحقوق": "cc_publicdomain | cc_attribute | cc_sharealike | cc_noncommercial | Photo | الرسوم المتحركة | imgtypeundefined '، ##' imgsize ': "ضخمة | أيقونة | كبيرة | صغيرة | صغيرة | xlarge | اللون الوردي | الأرجواني | الأحمر | تيل | أبيض | أصفر | ايمدوينانتوكولورونديفن "، ## 'imgcolortype': 'color | gray | mono | trans | imgcolortypeUndefined' ##}#هذا سوف يبحث فقط عن الصور: gis.search (search_params = _search_params )# سيبحث هذا وتنزيله: gis.search (search_params = _search_params ، path_to_dir = '/path/') = 500 ، الارتفاع = 500) # البحث أولاً ، ثم قم بتنزيل وتغيير حجمه بعد ذلك: gis.search (search_params = _search_params) للصورة في gis.results (): image.url # image direct urlimage.referrer_url # all all url (المصدر). Image.Download ('/path/') # download imageImage.Resize (500 ، 500) # تغيير حجمها.
في بعض الأحيان تريد حفظ الصور باسم الملف الذي تختاره.
من google_images_search استيراد googleimagesearchgis = GoogleImagEssearch ('your_dev_api_key' ، 'your_project_cx') _ search_params = {...} gis.search (search_params = _search_params ، path_dir = '...' ، custom_image_name = 'my_image')
حد API من Google هو 10 صور لكل طلب.
هذا يعني أنه إذا كنت تريد 123 صورة ، فسيتم تقسيمها داخليًا إلى 13 طلبًا.
ضع في اعتبارك أن الحصول على 123 صورة سيستغرق وقتًا أطول قليلاً إذا تم تمكين التحقق من صحة الصورة.
من google_images_search استيراد googleimagesearchgis = GoogleImageSearch ('your_dev_api_key' ، 'your_project_cx') _ search_params = {'q': '...' ، 'num': 123 ، }# احصل على صور 123 الأولى: gis.search (search_params = _search_params) ...
يتم التحقق من صحة كل عنوان URL صورة افتراضيًا.
هذا يعني أنه سيتم التحقق من كل عنوان URL صورة إذا كان يمكن جلب الرؤوس والتحقق من صحتها.
مع ذلك ، لا تحتاج إلى الحذر بشأن عنوان URL الذي يمكن تنزيله بالفعل أم لا.
الجانب السلبي هو الوقت اللازم للتحقق من صحة.
إذا كنت تفضل ، يمكنك إيقاف تشغيله.
من google_images_search ، استيراد GoogleImagessearch# قم بإيقاف التحقق من الصحة باستخدام "validate_images" agrumentGis = GoogleImagessearch ('your_dev_api_key' ، 'your_project_cx' ، validate_images = false)
بشكل افتراضي ، لا يتم تمكين ProgressBar.
يتم تمكين CLI ProgressBar فقط افتراضيًا باستخدام مكتبة Curses.
في وضع البرنامج ، يمكن تمكينه بطريقتين:
باستخدام الوضع السياقي (اللعنات)
باستخدام وظيفة ProgressBar المخصصة الخاصة بك
من google_images_search ، استيراد GoogleImagessearch# باستخدام وظيفة progressBar المخصصة الخاصة بك my_progressbar (url ، progress): print (url + '' + progress + '٪') GIS = GoogleImagessearch ('your_dev_api_key' ، 'your_project_cx' ، progressBar_fn = my_progressbar) ... ...
من google_images_search ، استيراد googleimagessearchfrom io import import bytesiofrom pil import# في هذه الحالة ، نحن نستخدم pil للحفاظ على bytesio ككائن صورة# بهذه الطريقة لا نضطر إلى الانتظار لحفظ القرص / الكتابة# يتم الاحتفاظ بالصورة ببساطة في الصورة الذاكرة# يجب أن يعرض هذا المثال 3 صور من PUPPIES! GIS = GoogleIMAGESSEARCH ('your_dev_api_key' ، 'your_project_cx') my_bytes_io = bytesio () gis.search ({'q': 'puppies' ، 'num: 3}) for Image في gis.results ():# هنا نخبر كائن bytesio بالعودة إلى العنوان 0my_bytes_io.seek (0)# خذ صورة RAW dataRaw_image_data = image.get_raw_data () my_bytes_io ، raw_image_data)# أو بدون بيانات RAW التي سيتم أخذها تلقائيًا# داخل copy_to () modermage.copy_to (my_bytes_io)# نعود إلى العنوان 0 مرة أخرى حتى يتمكن pil من قراءته من البداية إلى الانتهاء من intivemy_bytes_io.esek (0)# إنشاء صورة مؤقتة كائن omp_img = image.open (my_bytes_io)