我的任务是自动比较客户的库存与几个不相关的网店。这些店面不提供API,因此我不得不在python中编写一个爬虫,它将每周对三个网站之间的可用产品和价格进行编目和比较。
我是否应该禁止抓取工具的IP地址,或者是否可以针对来源提出法律投诉?它看起来非常无害(大约500个http页面请求,每个请求相隔一秒,每周执行一次),但这对我来说是一个全新的领域。
答案 0 :(得分:10)
道德规范:您应遵守the robots.txt protocol以确保您遵守网站所有者的意愿。为此,Python标准库包含the robotparser module。
答案 1 :(得分:9)
是的,你应该(因为屏幕抓取未经授权的联合组织而被禁止使用IP)。此外,不那么谨慎,更有创意的网站所有者将会通过发送格式错误的数据或故意发送错误数据来试图崩溃/混淆它,而不是阻止您的机器人。
如果您的商业模式基于未经授权的屏幕抓取,则会失败。
通常情况下,允许您进行屏幕删除符合网站所有者的利益,因此您可以获得许可(除非您为此付出很多钱,否则他们不太可能为您制作稳定的API)。
如果他们不给你许可,你可能不应该。
一些提示:
如果你真诚地透明地做到这一点,除非他们决定你所做的事情从根本上违背他们的商业模式,否则你不太可能被人类阻挡。
如果你表现得像一种低调的斗篷和匕首,你可能会产生敌意。
答案 2 :(得分:7)
另请注意,某些数据属于专有,并且其所有者将其视为知识产权。一些网站,如货币兑换网站,搜索引擎和股票市场跟踪器,特别不喜欢他们的数据被抓取,因为他们的业务基本上是在销售您正在抓取的数据。
话虽如此,在美国,你不能自己拥有版权数据 - 只是你如何格式化数据。因此,根据美国法律,只要您不将其存储在原始格式(HTML)中,就可以抓取已爬网数据。
但是,在很多欧洲国家,数据本身可以受到版权保护。网络是一个全球化的野兽。来自欧洲的人可以访问您的网站。根据某些国家的法律,这意味着您在这些国家开展业务。因此,即使你在美国受到法律保护,也并不意味着你不会在世界其他地方被起诉。
我的建议是浏览网站并阅读有关使用政策的内容。如果该网站明确禁止抓取,那么您不应该这样做。正如吉姆所说,尊重robots.txt。
然后,世界各地的法院都有充足的法律先例,使搜索引擎合法化。搜索引擎本身就是贪婪的网络爬虫。另一方面,看起来几乎每年至少有一家新闻机构起诉或试图起诉谷歌进行网络抓取。
考虑到上述所有因素,请小心处理已爬网数据。我会说私人使用是可以的,只要你不重载服务器。我自己定期做电视节目安排等。