2011-12-02 30 views
8

Tôi đã kiểm tra API tìm kiếm của Google và có vẻ như chúng chưa phát hành bất kỳ API nào để tìm kiếm "Hình ảnh". Vì vậy, tôi đã tự hỏi nếu có tồn tại một kịch bản python/thư viện thông qua đó tôi có thể tự động hóa "tìm kiếm theo tính năng hình ảnh".Tập lệnh Python cho "Tìm kiếm của Google theo hình ảnh"

+0

Tôi đoán Google lo lắng về các tài nguyên có thể xảy ra. Nó sẽ là một điều tuyệt vời tho – Coffee

+0

Kịch bản python này có thể giúp: http://bit.ly/QjIy21 – EyalAr

Trả lời

2

Không có API nào nhưng bạn có thể có thể phân tích trang và bắt chước trình duyệt nhưng tôi không biết bạn cần phân tích bao nhiêu dữ liệu vì google có thể giới hạn hoặc chặn quyền truy cập. Bạn có thể bắt chước trình duyệt bằng cách đơn giản sử dụng urllib và đặt tiêu đề chính xác, nhưng nếu bạn cho rằng việc phân tích các trang web phức tạp có thể khó khăn từ python, bạn có thể trực tiếp sử dụng trình duyệt không đầu như phontomjs, bên trong trình duyệt có được các yếu tố đúng bằng javascript/DOM

Lưu ý trước khi cố gắng tất cả điều này kiểm tra google của TOS

+0

Đối với "tìm kiếm google bằng hình ảnh", hình ảnh phải được kéo và thả xuống màn hình. Tôi không chắc chắn, làm thế nào tôi có thể tự động hóa bằng cách sử dụng python –

+0

khi bạn kéo thả hình ảnh, trình duyệt gửi dữ liệu tệp hình ảnh đến google, bạn có thể làm từ python, nhưng nó có thể được diffcult để tự động hóa tất cả các phần vì vậy đó là lý do tại sao tốt nhất đặt cược là để đi phantomjs tuyến đường –

-1

Bạn có thể thử này: https://developers.google.com/image-search/v1/jsondevguide#json_snippets_python Nó bị phản đối, nhưng dường như làm việc.

+0

Thật không may này không cung cấp chức năng "tìm kiếm bằng hình ảnh", nó chỉ hỗ trợ bằng cách sử dụng các thuật ngữ tìm kiếm trong văn bản. Bạn có thể tìm thấy tài liệu đầy đủ về API JSON tại https://developers.google.com/image-search/v1/devguide – Shnatsel

2

Điều này thật khó chịu để nhận ra rằng tôi nghĩ tôi sẽ ném nhận xét về kết quả stackoverflow liên quan đến python đầu tiên cho "tìm kiếm hình ảnh google script". Phần khó chịu nhất của tất cả điều này là thiết lập ứng dụng thích hợp và công cụ tìm kiếm tùy chỉnh (CSE) trong giao diện người dùng web của Google, nhưng khi bạn có khóa api và CSE, hãy xác định chúng trong môi trường của bạn và thực hiện như sau:

#!/usr/bin/env python 

# save top 10 google image search results to current directory 
# https://developers.google.com/custom-search/json-api/v1/using_rest 

import requests 
import os 
import sys 
import re 
import shutil 

url = 'https://www.googleapis.com/customsearch/v1?key={}&cx={}&searchType=image&q={}' 
apiKey = os.environ['GOOGLE_IMAGE_APIKEY'] 
cx = os.environ['GOOGLE_CSE_ID'] 
q = sys.argv[1] 

i = 1 
for result in requests.get(url.format(apiKey, cx, q)).json()['items']: 
    link = result['link'] 
    image = requests.get(link, stream=True) 
    if image.status_code == 200: 
    m = re.search(r'[^\.]+$', link) 
    filename = './{}-{}.{}'.format(q, i, m.group()) 
    with open(filename, 'wb') as f: 
     image.raw.decode_content = True 
     shutil.copyfileobj(image.raw, f) 
    i += 1 
Các vấn đề liên quan