-4

你好,我想筛选一个像 yelp 这样的网站来获取意大利餐馆的电话号码。我创建了一个简单的程序来做我想做的事情,但他们阻止了我的服务器 ip

我正在使用php来做到这一点。我怎样才能越过 ip 块?

我听说过screen-scraper之类的程序,但我还没有使用它

最好的方法是什么?是否可以在 php 中使用screen-scraper?

请注意*这是针对我正在从事的个人项目,而不是从中创建业务

4

2 回答 2

8

如果您这样做是为了商业利益,请停在原地。看看您是否可以找到获得相同数据的许可方法,或者自己敲打路面。一些公司故意在他们的信息中注入错误或可识别的拼写错误,以此来抓住像你这样的人,并将采取法律措施保护他们的知识产权(即使这些信息如果以任何其他方式收集是完全免费的)。便宜有时最终会变得非常昂贵。

如果您这样做不是为了商业利益(而且您真的很喜欢意大利菜),请移动服务器或等到 IP 块解除(可能永远不会)。重写您的代码并对您的请求设置一个巨大的速率限制器(模拟一个用户并每 5-10 秒左右获取一个页面。在短会话中在几天内抓取该站点。如果他们看到来自单个 IP 的请求过多时间太短了,他们又会把你拉黑。如果你是他们,你也会。

于 2010-09-01T07:13:43.523 回答
0

如果您只想要电话号码,可能有一种更简单的方法可以在一个页面上获取该信息。尝试黄页之类的网站。查找您所在地区的意大利餐厅。保存整个页面。然后你就有了数字。

可能还有另一个站点也可以通过 API 提供此信息 - 这样您就不必违反任何服务条款。写得不好或激进的抓取脚本可能会暂时损坏网络服务器 - 网站阻止这些操作是有原因的。

于 2010-09-04T08:27:15.823 回答