你好我想屏幕抓一个像yelp的网站来获取意大利餐馆的电话号码..我创建了一个简单的程序来做我想要的但是他们阻止了我的服务器ip
我正在使用php来做到这一点。我如何通过ip块?
我听说过像屏幕刮刀这样的程序,但我还没有用过它
最好的方法是什么?是否有可能使用屏幕刮板与PHP?
请注意*这是我正在处理的个人项目,不是为了创建一个企业
答案 0 :(得分:8)
如果您是为了商业利益而这样做,请停在您所在的位置。看看你是否能找到获得相同数据的许可方式,或自己砸人行道。有些公司故意在他们的信息中注入错误或可识别的拼写错误,作为捕捉像您这样的人的一种方式,并采取法律措施来保护他们的知识产权(即使这些信息在任何其他方式收集时完全免费)。廉价有时最终会变得非常昂贵。
如果您不是为了商业利益而做这件事(并且您真的很喜欢意大利食品),请移动服务器或等到IP块升级(可能永远不会)。重写你的代码,并在你的请求上设置一个大规模的速率限制器(模拟用户并每隔5-10秒左右获取一个页面。在短时间内将网站刮过几天。如果他们看到来自单个IP的请求过多太短暂的时间,他们会再次将你列入黑名单。如果你是他们,你也会这样。
答案 1 :(得分:0)
如果您只想要电话号码,那么可能更容易获得这些信息,所有这些都在一个页面上。试试黄页网站。查找您所在地区的意大利餐厅。保存整个页面。然后你有了数字。
可能还有另一个网站通过API提供此信息 - 这样您就不必违反任何服务条款。写得不好或积极的抓取脚本可能会暂时损坏网络服务器 - 网站阻止这些操作是有原因的。