java - 您能否以编程方式连接到一系列网页并解析源 HTML,而不会对系统造成压力或引发危险信号?

标签 java httpurlconnection denial-of-service

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

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

我的问题是:

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

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

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

最佳答案

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

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

您应该关注的另一个问题是合法性。我认为这些评论是您没有写的 Material ,并且无权从中创建衍生作品。如果您只是为了个人使用而吸食它们,那没关系。如果你吸食它们来创造某些东西(衍生作品),那么你就是在侵犯版权。

关于java - 您能否以编程方式连接到一系列网页并解析源 HTML,而不会对系统造成压力或引发危险信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008673/

相关文章:

java - 关于服务和@Transactional

java - 使 RGB 获取最接近颜色算法更加准确

java - 使用 HttpURLConnection 发送 POST 请求 - 请求主体是一个编码为 UTF16 的文件 - JAVA

java - 使用Java URL类向服务器写入数据是否需要服务器响应?

java - 如何使 expandablelistview 的 child 可点击并做其他事情?

java - 组合整数和数据类型名称?不知道如何解释

java - 使用 Java 将数据发布到服务器,如 jQuery 的 $.post()

PHP:同时打开 URL 以模拟 DOS 攻击?

Python -R 函数

apache - 来自 Metasploit 框架的无效 TCP SYN 泛洪