Kre*_*eki 4 http web-crawler content-negotiation
我最近对网络爬虫感兴趣,但有一点对我来说不是很清楚.想象一个简单的爬虫,它将获取页面,从中提取链接并排队,以便以后以相同的方式处理.
当某些链接不会导致另一个页面而不是某个资产或其他类型的静态文件时,爬虫如何处理这种情况呢?怎么会知道的?它可能不想下载这种可能很大的二进制数据,甚至也不想下载xml或json文件.内容谈判如何落入这个?
怎么我看到的内容协商应该工作是在Web服务器上的一面,当我发出一个请求example.com/foo.png与Accept: text/html它应该给我回一个HTML响应或Bad Request状态,如果它不能满足我的要求,其他什么都可以接受的,但是这不是它是如何工作的现实生活.无论如何,它Content-Type: image/png甚至在我告诉它时我都会将这个二进制数据发回给我,我只接受text/html.为什么网络服务器这样工作而不是强迫我要求的正确回应?
内容协商的实施是否被破坏或者应用程序有责任正确实施它?
真正的抓取工具如何工作?提前发送HEAD请求以检查链接另一端的什么是不切实际的资源浪费.
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |