gpt4 book ai didi

java - 关于爬虫礼貌并交叉验证我做得是否正确?

转载 作者:行者123 更新时间:2023-12-01 13:05:09 25 4
gpt4 key购买 nike

我正在尝试为我的项目构建一个爬虫,刚刚遇到了礼貌问题[并且我已经理解了它的必要性]。我从以下 java 代码开始:

try{
URL seedPage = new URL("SeedPage to fetch");
BufferedReader br = new BufferedReader(new InputStreamReader(seedPage.openStream()));
String line="";
while(null != (line = br.readLine()){
TimeUnit.SECONDS.sleep(2) //2 seconds of delay here and the question lies here.
//do Something
}
} catch (Exception ex){
}

这样做[礼貌]正确吗?我希望我不会给处理我的请求的服务器带来任何负担。

最佳答案

接收页面的速度可以与服务器发送页面的速度一样快。毕竟,人们使用 Firefox 等网络浏览器,并且它们会尽可能快地接收每个页面。

当您想要阅读多页内容(通常是通过点击每一页中的链接)时,就会出现礼貌问题。那么最合适的行为就是您,即人类,阅读每个网站上的使用条款,看看他们说您可以做什么。下一个替代行为是在阅读同一站点上的一页和阅读下一页之间设置延迟。毕竟,人们不会立即从一个页面移动到另一个页面。

您应该注意,如果某些网站判断您的抓取工具存在滥用行为,该网站可能会暂时拒绝响应来自您的互联网地址的任何更多请求。

关于java - 关于爬虫礼貌并交叉验证我做得是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23321781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com