如何获取 Google 搜索结果中页面 URL 的绝对 URI 或 base64 编码列表?
目标:
遍历 URL 数组:
pages["pinelakedesign.com"];
pages["pinelakedesign.com/about"];
pages["pinelakedesign.com/contact"];
输出:
Google 在其视觉搜索结果中使用 JPG 缩略图的 base64 字符串编码。在 2011 年,这个缩略图服务改变了以前的系统,在这个问题中描述了放大镜和绝对 URI 构造: https://stackoverflow.com/questions/6881319/google-web-thumbnails
我只想将网站中的页面列表平铺成 Google 缩略图,这样我一眼就能知道哪些页面已被编入索引和缩略图,以及这些缩略图是什么样子的。
2011 年 11 月 5 日编辑
我确定调用此 URL 会返回 JSONP,其中包含 base64 编码、Google 搜索结果标题、描述和 URL。
https://clients1.google.com/webpagethumbnail?r=4&f=3&s=400:585&query=pine+lake+design&hl=en&gl=us&c=29&d=http%3A%2F%2Fwww.pinelakedesign.com%2F&b=1&j=google.nyc.c.j_pVK1Tu_gAbODsAKH0ZTuAw_3787232970_3&expi=17291,27615,28936,30049,30316,31215,32035,32271,32410,32940,33104,33194,33627,33788,33854,33907,33975,34103&a=2NT
query=参数就是在google里搜索到的。 d= 是链接的目的地,也可能是缩略图的来源。 s=400:585 是高度和宽度。我不确定 r=4 和 f=3 做什么。修改这些变量中的任何一个都会导致 404 错误。我的直觉是 expi= 是某种基于不同参数值的校验和过期算法,但我不知道。
返回的 JSONP:
google.nyc.c.j_pVK1Tu_gAbODsAKH0ZTuAw_3787232970_3({"s":"b","b":1,"quality":100,"shards":[{"heights":[300,131],"imgs":["data:image/jpeg;base64,/9j/4AAQSkZ ...THIS IS THE LONG BASE64 ENCONDING ...pa5r61f/9k="],"tbts":[{"box":{"h":15,"l":0,"t":39,"w":224},"txt":"<em>Pine Lake</em> specializes in small business website <em>design</em>, redesign and hosting. We have developed the Sungem content management system which allows our <b>...</b>","txtBox":{"h":57,"l":0,"t":58,"w":400}}]}],"url":"http://www.pinelakedesign.com/"}
)
2011 年 11 月 8 日更新
我正在寻找类似 emedly's Preview 的解决方案用于查看 Google 缩略图。
2012 年 2 月 9 日更新
使用 Phantom JS 看起来是实现服务器端远程快照的好方法,但它无助于确定如何获取 Google 的图像。
2012 年 3 月 26 日更新
我相信 Google 的搜索蜘蛛是运行 1024 像素宽分辨率的桌面 Chrome 的 headless 版本。 Chrome 蜘蛛将允许蜘蛛执行 Javascript、使用@font-face、CSS3 选择器、查看 Flash(甚至等待预加载器达到 100%)并在加载所有 Assets 和 DOM 操作后拍摄渲染页面的准确快照。 Google 的任何人都可以权衡一下以确认或否认任何事情吗?
最佳答案
基本上,他们首先对查询 url 发出 curl 请求,然后从 html 响应中获取缺少的“a”参数。然后他们使用它来构建正确的 url 并调用 api 到 google API 以获取图像。之后还有更复杂的工作,例如将生成的图像与 ImageMagick 合并以获得完整预览,但这是一个加号...
关于javascript - Google 网页缩略图绝对 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922790/
一段时间以来,我一直在使用open_uri下拉ftp路径作为数据源,但突然发现我几乎连续不断地收到“530抱歉,允许的最大客户端数(95)已经连接。”我不确定我的代码是否有问题,或者是否是其他人在访问服务器,不幸的是,我无法真正确定谁有问题。本质上,我正在读取FTPURI:defself.read_uri(uri)beginuri=open(uri).readuri=="Error"?nil:urirescueOpenURI::HTTPErrornilendend我猜我需要在这里添加一些额外的错误处理代码...我想确保我采取一切预防措施来关闭所有连接,这样我的连接就不是问题所在,但是我
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
我正在尝试用ruby编写一个简单的网络抓取代码。它一直工作到第29个url,然后我收到此错误消息:C:/Ruby193/lib/ruby/1.9.1/open-uri.rb:346:in`open_http':500InternalServerError(OpenURI::HTTPError)fromC:/Ruby193/lib/ruby/1.9.1/open-uri.rb:775:in`buffer_open'fromC:/Ruby193/lib/ruby/1.9.1/open-uri.rb:203:in`blockinopen_loop'fromC:/Ruby193/lib/r
我正在使用DMOZ的listofurltopics,其中包含一些具有包含下划线的主机名的url。例如:608609TheOuterHeaven610InformationandimagegalleryofMcFarlane'sactionfiguresforTrigun,Akira,TenchiMuyoandotherJapaneseSci-Fianimations.611Top/Arts/Animation/Anime/Collectibles/Models_and_Figures/Action_Figures612虽然此url可以在网络浏览器中使用(或者至少在我的浏览器中可以使用:
很高兴看到google代码:google-api-ruby-client项目,因为这对我来说意味着Ruby人员可以使用GoogleAPI-s来完善代码。虽然我现在很困惑,因为给出的唯一示例使用Buzz,并且根据我的实验,Google翻译(v2)api的行为必须与google-api-ruby-client中的Buzz完全不同。.我对“Explorer”演示示例很感兴趣——但据我所知,它并不是一个探索器。它所做的只是调用一个Buzz服务,然后浏览它已经知道的关于Buzz服务的事情。对我来说,Explorer应该让您“发现”所公开的服务和方法/功能,而不一定已经知道它们。我很想听听使用这个
我在Ruby程序中有两个URI。一个肯定是绝对URI,另一个可能是绝对URI或相对URI。我想在第一个的上下文中将第二个转换为绝对URI,所以如果第一个是http://pupeno.com/blog第二个是/about,结果应该是http://pupeno.com/about.有什么想法吗? 最佳答案 Ruby的内置URI和Addressablegem,做这个简短的工作。我更喜欢Addressable,因为它功能更全面,但URI是内置的。require'uri'URI.join('http://pupeno.com/blog','/
我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关于您编写的代码问题的问题必须在问题本身中描述具体问题—并且包括有效代码以重现它。参见SSCCE.org寻求指导。关闭8年前。Improvethisquestion我是Rails的新手。我正在制作一个网络应用程序,我在其中使用nokogiri搜索不同的网站以从中提取文本。所以在Gemfile中,我写了require'nokogiri'和'open-uri',但是当我捆绑安装时我得到这个错误:Couldnotfindgem'open-uri(>=0)ruby'inthegemsavailableon
我有一堆要清理的URL。它们都包含UTM参数,在这种情况下不是必需的,或者是有害的。示例:http://houseofbuttons.tumblr.com/post/22326009438?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+HouseOfButtons+%28House+of+Buttons%29所有可能的参数都以utm_开头。如何使用ruby脚本/结构轻松删除它们而不破坏其他潜在的“好”URL参数? 最佳答案 您可以将正则表达式应用于url以清
我正在尝试为自己创建一个直接连接到我的日历的应用程序……但我从不想参与重新验证。我只想编写一次身份验证代码并完成它。授权码如下:key=Google::APIClient::PKCS12.load_key(SERVICE_ACCOUNT_PKCS12_FILE_PATH,PASSWORD)asserter=Google::APIClient::JWTAsserter.new(SERVICE_ACCOUNT_EMAIL,'https://www.googleapis.com/auth/calendar',key)@client=Google::APIClient.new@client.a