1

我正在做一个 NLP 项目,要求我下载相当多的视频游戏评论——每个网站大约 10,000 条。因此,我将编写一个程序,访问每个 URL 并提取每个页面的评论部分以及一些额外的元数据。

我正在使用 Java,并计划只打开一个 HttpURLConnection 并通过输入流读取文本。然后,关闭连接并打开下一个。

我的问题是这样的:

1) 假设这是一个中小流量的站点:通常,他们每秒收到来自普通用户的大约 1000 个请求。我的程序是否可能会对他们的系统造成过度的压力,从而影响其他人的用户体验?

2)这些连接一个接一个地出现是某种恶意攻击吗?

我是偏执狂,还是这是一个问题?有没有更好的方法来获取这些数据?我要去几个网站,所以与网站管理员单独合作很不方便,而且可能是不可能的。

4

2 回答 2

2

如果您模仿网络浏览器,并以人类的速度提取文本(也就是说,即使人类没有阅读文本,通常也需要几秒钟才能“点击”到下一页),那么服务器就不能真正告诉客户是什么。

换句话说,只需将您的 slurping 限制为每几秒钟 1 页,就没有问题。

The other concern you ought to have is legality. I assume these reviews are material that you didn't write, and have no permission to create derivative works from. If you are just slurping them for personal use, then its ok. If you are slurping them to create something (a derivative work), then you are breaking copyright.

于 2012-06-13T05:31:11.683 回答
1

我相信您误解了 HTTP 请求的工作原理。你要求一个页面,你就得到了……你一次读一行流的事实与 HTTP 请求无关,并且该站点非常乐意一次给你一页。它看起来并不恶意(因为它只是 1 个用户阅读页面......完全正常的行为)。你 100% 可以继续你的计划(如果它是你描述的那样)。

于 2012-06-13T05:30:36.470 回答