我正在做一个 NLP 项目,要求我下载相当多的视频游戏评论——每个网站大约 10,000 条。因此,我将编写一个程序,访问每个 URL 并提取每个页面的评论部分以及一些额外的元数据。
我正在使用 Java,并计划只打开一个 HttpURLConnection 并通过输入流读取文本。然后,关闭连接并打开下一个连接。
我的问题是:
1) 假设这是一个具有中小流量的网站:通常情况下,他们每秒会收到大约 1000 个来自普通用户的请求。我的程序是否可能会对他们的系统造成过度压力,从而影响其他人的用户体验?
2) 这些连接一个接一个地出现是否是某种恶意攻击?
我是偏执狂,还是这是一个问题?有没有更好的方法来获取这些数据?我要去几个网站,因此单独与网站管理员一起工作很不方便,而且可能是不可能的。
最佳答案
如果您模仿网络浏览器,并以人类的速度提取文本(也就是说,即使人类没有阅读文本,通常也需要几秒钟才能“点击”到下一页),那么服务器不能真正说出客户是什么。
换句话说,只需将您的 slurping 速度限制在每几秒钟 1 页,就没有问题。
您应该关注的另一个问题是合法性。我认为这些评论是您没有写的 Material ,并且无权从中创建衍生作品。如果您只是为了个人使用而吸食它们,那没关系。如果你吸食它们来创造某些东西(衍生作品),那么你就是在侵犯版权。
关于java - 您能否以编程方式连接到一系列网页并解析源 HTML,而不会对系统造成压力或引发危险信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008673/