Rails 类似花瓣那种采集插件如何获得图片来源地址

saiga · 2014年07月23日 · 最后由 saiga 回复于 2014年07月23日 · 9481 次阅读

目前在写一个日式漫画绘画素材收集的网站,图片采用浏览器插件和用户上传两种。

插件通过用户在图片上右键点击,程序发送图片地址和当前标签地址。

插件在百度,pixiv,dribbble,花瓣 这些网站上下载成功,部分出现 403。

但是即使采集到图片,记录的来源地址依旧不可用。 举个例子: 用户进入 pixiv 小图页面 -> 大图页面 -> 采集 -> 程序记录来源地址(大图地址),如下图

红框地址是大图地址,也就是抓图的标签地址,但直接访问会 403,因为少了 referer。

神奇的是花瓣会去到小图的地址,这个可以直接访问,比如这张: http://huaban.com/pins/192691958/

我想知道他是怎么做到的...或者说有什么比较靠谱的思路?

我也想知道。淘宝页面似乎更复杂,因为是 Ajax 加载的,而豆瓣东西却可以实现

AJAX 加载的也能抓么?

我觉得你可以抓到类似http://huaban.com/go/?pin_id=191403317 这种之后再往下抓一层。。

#1 楼 @linsk 抱歉,我没怎么看懂你的意思 = =

#2 楼 @stardiviner 用户通过浏览器插件向服务器发送图片链接,不是程序采集

#3 楼 @hging 往下抓一层是?

#4 楼 @saiga 比如是花瓣,http://huaban.com/all/ 然后抓到页面的地址是 http://huaban.com/pins/193166820/ 里面有查看来源 来源里面有http://huaban.com/go/?pin_id=193166820 这种网址。然后再这个里面可以抓到图片来源 具体的我就不说了。

#5 楼 @hging 噢..我不是在抓花瓣的图片。而是模仿花瓣....

目前图片是通过浏览器插件在网页里拿到图片地址,然后发送到服务器上的。但是直接访问来源地址会被 403

#6 楼 @saiga 那你就发送的时候连同当前网页地址一起发送给浏览器嘛。

#7 楼 @hging 不行。如果用户在大图页面地址发送图片,直接访问 403

需要 登录 后方可回复, 如果你还没有账号请 注册新账号