Cài đặt
Để có thể sử dụng thư viện này, bạn cần bật API tìm kiếm tùy chỉnh của Google, tạo thông tin đăng nhập khóa API và đặt dự án:
Truy cập //console.developers.google.com và tạo một dự án.
Truy cập //console.developers.google.com/apis/l Library/customsearch.googleapis.com và bật "API tìm kiếm tùy chỉnh" cho dự án của bạn.
Truy cập //console.developers.google.com/apis/credentials và tạo thông tin chính của API cho dự án của bạn.
Truy cập //cse.google.com/cse/all và trong biểu mẫu web nơi bạn tạo/chỉnh sửa công cụ tìm kiếm tùy chỉnh của mình Kích hoạt tùy chọn "Tìm kiếm hình ảnh" và cho "Trang web để tìm kiếm" Chọn "Tìm kiếm toàn bộ web nhưng nhấn mạnh bao gồm các trang web ".
Sau khi thiết lập tài khoản và dự án của các nhà phát triển Google, bạn nên được cung cấp Key API và Project CX của nhà phát triển.
Cài đặt gói từ pypi.org:
> pip install Google-Images-Search
CLI sử dụng
# without environment variables:
> gimages -k __your_dev_api_key__ -c __your_project_cx__ search -q puppies
# with environment variables: > export GCS_DEVELOPER_KEY=__your_dev_api_key__ > export GCS_CX=__your_project_cx__ > > gimages search -q puppies
# search only [no download and resize]:
> gimages search -q puppies
# search and download only [no resize]:
> gimages search -q puppies -d /path/on/your/drive/where/images/should/be/downloaded
# search, download and resize: > gimages search -q puppies -d /path/ -w 500 -h 500
Sử dụng chương trình
from google_images_search import GoogleImagesSearch # you can provide API key and CX using arguments, # or you can set environment variables: GCS_DEVELOPER_KEY, GCS_CX gis = GoogleImagesSearch['your_dev_api_key', 'your_project_cx'] # define search params # option for commonly used search param are shown below for easy reference. # For param marked with '##': # - Multiselect is currently not feasible. Choose ONE option only # - This param can also be omitted from _search_params if you do not wish to define any value _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': 'clipart|face|lineart|stock|photo|animated|imgTypeUndefined', ## 'imgSize': 'huge|icon|large|medium|small|xlarge|xxlarge|imgSizeUndefined', ## 'imgDominantColor': 'black|blue|brown|gray|green|orange|pink|purple|red|teal|white|yellow|imgDominantColorUndefined', ## 'imgColorType': 'color|gray|mono|trans|imgColorTypeUndefined' ## } # this will only search for images: gis.search[search_params=_search_params] # this will search and download: gis.search[search_params=_search_params, path_to_dir='/path/'] # this will search, download and resize: gis.search[search_params=_search_params, path_to_dir='/path/', width=500, height=500] # search first, then download and resize afterwards: gis.search[search_params=_search_params] for image in gis.results[]: image.url # image direct url image.referrer_url # image referrer url [source] image.download['/path/'] # download image image.resize[500, 500] # resize downloaded image image.path # downloaded local file path
Tên tệp tùy chỉnh
Đôi khi bạn muốn lưu hình ảnh với tên tệp mà bạn chọn.
from google_images_search import GoogleImagesSearch gis = GoogleImagesSearch['your_dev_api_key', 'your_project_cx'] _search_params = { ... } gis.search[search_params=_search_params, path_to_dir='...', custom_image_name='my_image']
Phân trang
Giới hạn API của Google là 10 hình ảnh cho mỗi yêu cầu. Điều đó có nghĩa là nếu bạn muốn có 123 hình ảnh, nó sẽ được chia nội bộ thành 13 yêu cầu. Hãy nhớ rằng việc nhận được 123 hình ảnh sẽ mất thêm một chút thời gian nếu xác thực hình ảnh được bật.
That means if you want 123 images, it will be divided internally into 13 requests.
Keep in mind that getting 123 images will take a bit more time if the image validation is enabled.
from google_images_search import GoogleImagesSearch gis = GoogleImagesSearch['your_dev_api_key', 'your_project_cx'] _search_params = { 'q': '...', 'num': 123, } # get first 123 images: gis.search[search_params=_search_params] # take next 123 images from Google images search: gis.next_page[] for image in gis.results[]: ...
Xác thực hình ảnh
Mỗi URL hình ảnh được xác thực theo mặc định. Điều đó có nghĩa là mọi URL hình ảnh sẽ được kiểm tra nếu các tiêu đề có thể được tìm nạp và xác thực. Với điều đó, bạn không cần phải cảnh giác về URL hình ảnh nào có thể tải xuống hay không. Nhược điểm là thời gian cần thiết để xác nhận. Nếu bạn thích, bạn có thể tắt nó đi.
That means that every image URL will be checked if the headers can be fetched and validated.
With that you don't need to wary about which image URL is actually downloadable or not.
The downside is the time needed to validate.
If you prefer, you can turn it off.
from google_images_search import GoogleImagesSearch # turn the validation off with "validate_images" agrument gis = GoogleImagesSearch['your_dev_api_key', 'your_project_cx', validate_images=False]
Chèn chức năng thanh tiến trình tùy chỉnh
Theo mặc định, ProgressBar không được bật. Chỉ trong CLI ProgressBar được bật theo mặc định bằng thư viện Curses. Trong chế độ lập trình, nó có thể được bật theo hai cách:
Only in CLI progressbar is enabled by default using
Curses library.
In a programmatic mode it can be enabled in two ways:
- Sử dụng Chế độ theo ngữ cảnh [lời nguyền]
- Sử dụng chức năng DRATRESSBAR tùy chỉnh của bạn
# without environment variables:
> gimages -k __your_dev_api_key__ -c __your_project_cx__ search -q puppies
0Lưu vào một đối tượng byte
# without environment variables:
> gimages -k __your_dev_api_key__ -c __your_project_cx__ search -q puppies
1