解析google图片搜索结果

2024-04-25 03:30:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我对谷歌图片搜索的解析结果有问题。我试过用selenium webdriver来做。它给我返回了100个结果,但速度相当慢。我决定请求一个带有requests模块的页面,它只返回了20个结果。我怎样才能得到同样的100个结果?有没有办法分页或什么的?
这是selenium代码:

_url = r'imgurl=([^&]+)&'

for search_url in lines:
    driver.get(normalize_search_url(search_url))

    images = driver.find_elements(By.XPATH, u"//div[@class='rg_di']")
    print "{0} results for {1}".format(len(images), ' '.join(driver.title.split(' ')[:-3]))
    with open('urls/{0}.txt'.format(search_url.strip().replace('\t', '_')), 'ab') as f:
        for image in images:
            url = image.find_element(By.TAG_NAME, u"a")
            u = re.findall(_url, url.get_attribute("href"))
            for item in u:
                f.write(item)
                f.write('\n')

下面是requests代码:

^{pr2}$

Tags: 代码inimageformaturlforsearchget
1条回答
网友
1楼 · 发布于 2024-04-25 03:30:31

我从来没有尝试过用selenium做这件事,但是你试过使用Google的搜索引擎API吗?它可能对您有用:https://developers.google.com/products/#google-search

而且,他们对API的限制是每天100个请求,所以我认为不会超过100个

相关问题 更多 >