最近,我一直在研究一个想法,要求我查询Google图片并检索与该搜索字词匹配的图片的链接。我最有希望获得可用Google图像API的候选者是Google Web搜索API,但看起来它将在明天停止服务: https://developers.google.com/web-search/docs/
替换它的API是Google自定义搜索API,但使用时有点令人沮丧:
Google API Custom Search with Python - Programmatic Search Results
每天100个搜索结果是一个非常严格的限制;这只是每小时四次搜索。我也不想经历创建一些我永远不会使用的自定义搜索栏的麻烦,除非通过Python
我决定直接从结果页面解析HTML。但这会带来一个问题,因为在页面的HTML内部没有任何指向图像的直接链接,只有引用URL。对于谷歌图像的启用javascript和禁用javascript的版本,情况也是如此(因此即使Python欺骗了javascript为启用,也没有)。我不确定从哪里开始。有人能把我推荐给一些我不知怎么忽略的模糊,更新的图书馆,或者给我一些指示?
答案 0 :(得分:1)
您可以使用Selenium Webdriver实际执行JavaScript并单击缩略图视图中的图像。打开图像后,链接就在DOM中,您可以从那里抓取它。所有Webdriver都打开一个实际的浏览器并模拟用户。如果使用xvfbwrapper,您甚至可以将其作为无头浏览器运行。缺点是,即便如此,您仍需要在服务器上安装所使用的浏览器的所有依赖项。
然而,抓谷歌违反了他们的服务条款,他们会努力尽快阻止你。因此,除非您通过验证码(链接到会话),否则您可能无法在以这种方式阻止之前进行大量搜索。