我们正在建立一个网站,允许用户从互联网上收集和存储他们喜欢的产品到一个地方。我们有一个算法可以通过读取源代码来过滤掉并找到正确的图像。 80%的网站正常运行,但有2家大公司阻止我们从产品页面重定向到他们的主页。
例如,此产品http://www.gap.com/browse/product.do?pid=741123&kwid=1&sem=false&sdReferer=http://www.gap.com/products/graphic-ts-toddler-boy-clothing-C35792.jsp#会获取gap.com主页的标题,而不是手头的产品。
我们如何绕过此重定向并允许我们的算法通过读取正确的源代码来收集正确的图像?
答案 0 :(得分:2)
首先,您可能会请律师研究您的目标网站的服务条款,并确保您不会遇到法律问题。
在技术方面,请求图像时设置Referer
[sic] header。图像的引用者应该是嵌入它的页面。服务器可以检查是否确保请求图像满足浏览器的页面呈现,而不是图像采集屏幕刮刀。
对相关图像进行一些测试后,看起来不需要Referer
标头。也许它只是拒绝一个不熟悉的用户代理,或者在请求中剔除其他一些奇怪的东西,比如缺少Accept
标题等。
答案 1 :(得分:0)
我想你需要将刮刀的用户代理字符串更改为看起来像普通浏览器的东西(默认情况下你可能会发送像curl
或wget
这样的字符串。)
但是,如果你以他们的方式发送足够的流量,他们最终会注意到并以更难以规避的方式关闭你。