เพื่อให้สามารถใช้ไลบรารีนี้ได้คุณจะต้องเปิดใช้งาน Google Search API ของ Google สร้างข้อมูลรับรองคีย์ API และตั้งค่าโครงการ:
เยี่ยมชม https://console.developers.google.com และสร้างโครงการ
เยี่ยมชม https://console.developers.google.com/apis/library/customsearch.googleapis.com และเปิดใช้งาน "Custom Search API" สำหรับโครงการของคุณ
เยี่ยมชม https://console.developers.google.com/apis/credentials และสร้างข้อมูลรับรองคีย์ API สำหรับโครงการของคุณ
เยี่ยมชม https://cse.google.com/cse/all และในเว็บฟอร์มที่คุณสร้าง/แก้ไขเครื่องมือค้นหาที่กำหนดเองของคุณเปิดใช้งานตัวเลือก "การค้นหาภาพ" และสำหรับ "ไซต์เพื่อค้นหา" เลือก "เลือก" ค้นหาเว็บทั้งหมด แต่เน้น รวมเว็บไซต์ "
หลังจากตั้งค่าบัญชี Google Developers และโครงการคุณควรได้รับการจัดเตรียม API Key และ Project CX
ติดตั้งแพ็คเกจจาก pypi.org:
> PIP ติดตั้ง Google-Images-Search
# ไม่มีตัวแปรสภาพแวดล้อม:> gimages -k __your_dev_api_key__ -c __your_project_cx__ ค้นหา -Q ลูกสุนัข
# พร้อมตัวแปรสภาพแวดล้อม:> ส่งออก gcs_developer_key = __ your_dev_api_key __> ส่งออก gcs_cx = __ your_project_cx __ >> gimages search -q puppies
# ค้นหาเท่านั้น (ไม่มีการดาวน์โหลดและปรับขนาด):> gimages search -q puppies
# ค้นหาและดาวน์โหลดเท่านั้น (ไม่มีการปรับขนาด):> gimages search -q puppies -d/path/on/ของคุณ/ไดรฟ์/สถานที่/รูปภาพ/ควร/be/ดาวน์โหลด
# ค้นหา, ดาวน์โหลดและปรับขนาด:> gimages search -q puppies -d / path / -w 500 -H 500
จาก google_images_search นำเข้า googleimagessearch# คุณสามารถจัดเตรียมคีย์ API และ CX โดยใช้อาร์กิวเมนต์# หรือคุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม: GCS_DEVELPER_KEY, GCS_CXGIS = googleimagessearch ('your_dev_apkey' ด้านล่างเพื่อการอ้างอิงได้ง่าย# สำหรับพารามิเตอร์ที่ทำเครื่องหมายด้วย '##':# - MultiSelect ไม่สามารถทำได้ เลือกตัวเลือกเดียวเท่านั้น# - พารามิเตอร์นี้สามารถละเว้นได้จาก _search_params หากคุณไม่ต้องการกำหนดค่าใด ๆ _search_params = {'q': '... ', 'num': 10, 'fileType': 'jpg | gif | Png ',' Rights ':' CC_PublicDomain | CC_ATTRIBUTE | CC_SHAREALIKE | CC_NONCommercial | CC_Nonderived ',' Safe ':' Active | High | Medium | Off | Safeundefined ', ##' Imgtype ': ภาพถ่าย | แอนิเมชั่น | imgtypeundefined ', ##' imgsize ':' ขนาดใหญ่ | ไอคอน | ขนาดใหญ่ | กลาง | เล็ก | xlarge | xxlarge | imgsizeundefined ', ##' imgdominantcolor ':' สีดำ | สีน้ำเงิน | สีน้ำตาล | สีเขียว | สีเขียว | สีชมพู | สีม่วง | แดง | เปีย | สีขาว | เหลือง | imgdominantColorundefined ', ##' imgcolortype ':' สี | สีเทา | โมโน | ทราน )# สิ่งนี้จะค้นหาและดาวน์โหลด: gis.search (search_params = _search_params, path_to_dir = '/path/')# สิ่งนี้จะค้นหาดาวน์โหลดและปรับขนาด: gis.search (search_params = _search_params, path_to_dir = '/path/' = 500, ความสูง = 500) # ค้นหาก่อนจากนั้นดาวน์โหลดและปรับขนาดหลังจากนั้น: gis.search (search_params = _search_params) สำหรับภาพใน gis.results (): image.url # image โดยตรง urlimage.referrer_url image.download ('/path/') # ดาวน์โหลด imageImage.resize (500, 500) # ปรับขนาด imageImage.path ที่ดาวน์โหลด
บางครั้งคุณต้องการบันทึกรูปภาพด้วยชื่อไฟล์ที่คุณเลือก
จาก google_images_search นำเข้า googleimagessearchgis = googleimagessearch ('your_dev_api_key', 'your_project_cx') _ search_params = {... } gis.search (search_params = _search_params, path_to_dir = '... ' custom_image_name = 'my_image')
ขีด จำกัด API ของ Google คือ 10 ภาพต่อคำขอ
นั่นหมายความว่าหากคุณต้องการ 123 ภาพมันจะถูกแบ่งออกเป็น 13 คำขอ
โปรดทราบว่าการรับ 123 ภาพจะใช้เวลามากขึ้นหากเปิดใช้งานการตรวจสอบภาพ
จาก google_images_search นำเข้า googleimagessearchgis = googleimagessearch ('your_dev_api_key', 'your_project_cx') _ search_params = {'q': '... ', 'num': 123, }# รับ 123 ภาพแรก: gis.search (search_params = _search_params)# ถ่ายภาพ 123 ภาพถัดไปจาก Google Images Search: gis.next_page () สำหรับรูปภาพใน gis.results (): -
URL รูปภาพทุกรายการได้รับการตรวจสอบโดยค่าเริ่มต้น
นั่นหมายความว่า URL รูปภาพทุกภาพจะถูกตรวจสอบหากสามารถดึงส่วนหัวและตรวจสอบได้
ด้วยสิ่งที่คุณไม่จำเป็นต้องระวังเกี่ยวกับ URL รูปภาพที่สามารถดาวน์โหลดได้จริงหรือไม่
ข้อเสียคือเวลาที่จำเป็นในการตรวจสอบ
หากคุณต้องการคุณสามารถปิดได้
จาก google_images_search นำเข้า googleimagessearch# ปิดการตรวจสอบความถูกต้องด้วย "validate_images" agrumentgis = googleimagessearch ('your_dev_api_key', 'your_project_cx'
โดยค่าเริ่มต้น ProgressBar จะไม่เปิดใช้งาน
เฉพาะใน CLI ProgressBar เปิดใช้งานโดยค่าเริ่มต้นโดยใช้ไลบรารีคำสาป
ในโหมดโปรแกรมสามารถเปิดใช้งานได้สองวิธี:
การใช้โหมดบริบท (คำสาป)
การใช้ฟังก์ชัน ProgressBar ที่กำหนดเองของคุณ
จาก google_images_search นำเข้า googleimagessearch# โดยใช้ฟังก์ชั่น progressbar ที่กำหนดเองของคุณ my_progressbar (url, ความคืบหน้า): พิมพ์ (url + '' + progress + '%') gis = googlemagessearch ('your_dev_api_key', 'your_project_cx' .. } gis.search (search_params = _search_params)# การใช้โหมดบริบท (คำสาป) กับ googleimagessearch ('your_dev_api_key', 'your_project_cx') เป็น gis: _search_params = {... -
จาก google_images_search นำเข้า googleimagessearchfrom IO นำเข้า Bytesiofrom Pil Image Image# ในกรณีนี้เรากำลังใช้ PIL เพื่อให้ bytesio เป็นวัตถุภาพ# วิธีที่เราไม่ต้องรอการบันทึกดิสก์ / เวลาเขียน# ภาพถูกเก็บไว้ หน่วยความจำ# ตัวอย่างนี้ควรแสดง 3 รูปภาพของลูกสุนัข! gis = googleimagessearch ('your_dev_api_key', 'your_project_cx') my_bytes_io = bytesio () gis.search ({'Q': 'ลูกสุนัข' ใน gis.results ():# ที่นี่เราบอกวัตถุ bytesio ให้กลับไปที่ที่อยู่ 0MY_BYTES_IO.Seek (0)# ถ่ายภาพดิบ dataRaw_image_data = image.get_raw_data ()# ฟังก์ชั่นนี้เขียนข้อมูลภาพดิบ my_bytes_io, raw_image_data)# หรือไม่มีข้อมูลดิบซึ่งจะถ่ายโดยอัตโนมัติ# ภายใน methodimage.copy_to (my_bytes_io) โดยอัตโนมัติ# เรากลับไปที่ที่อยู่อีกครั้ง สร้างอิมเมจอิมเมจชั่วคราว ObjectTemp_img = image.open (my_bytes_io) # แสดงในระบบรูปภาพเริ่มต้น viewerTemp_img.show ()