我想查询whitepages.com 4000次,如何保存结果?

时间:2010-06-03 17:43:54

标签: javascript unix macos curl

我有一份包含4,000家企业的旧客户名单。我想确定与每个商家信息相关联的电话号码是否仍然有效(因此业务可能仍处于开放状态)。 我可以将每个号码放在whitepages.com中并逐个检查......但是想要自动化结果。我查看了他们的API并且无法消化它。我可以形成正确的查询URL,但尝试像cURL -O这样的东西不起作用。

我可以访问Mac工具,Unix工具,并且可以尝试各种javascript的东西,如果有人能指出我正确的方向......甚至会付钱。帮助

THX

3 个答案:

答案 0 :(得分:5)

根据Pekka的评论,大多数拥有公共API的公司都不允许在他们的服务条款中进行刮擦,因此向他们的网站执行4k GET请求很可能会将您标记为恶意用户,并将您列入黑名单! / p>

他们的API是RESTful的,看起来很简单,而且记录得非常好,绝对会尝试让它工作而不是走另一条路。获取API密钥后的首次尝试是编写UNIX脚本以执行反向电话号码查找。例如,假设您在平面文本文件中拥有所有4000个10位数的电话号码,每行一个没有格式化,您可以编写一个简单的bash脚本,如下所示:

#!/bin/bash
INPUT_FILE=phone_numbers.txt 
OUTPUT_DIR=output 
API_KEY='MyWhitePages.comApiKey' 
BASE_URL='http://api.whitepages.com' 

# Perform a reverse lookup on each phone number in the input file. 
for PHONE in $(cat $INPUT_FILE); do 
  URL="${BASE_URL}/reverse_phone/1.0/?phone=${PHONE};api_key=${API_KEY}" 
  curl $URL > "${OUTPUT}/result-${PHONE}.xml"
done 

一旦检索完所有结果,您就可以解析XML以分析匹配的业务,或者如果您只是对存在感兴趣,您只需将每个输出文件grep为字符串The search did not find results, WhitePages.com API表示不匹配。如果grep成功,则业务不存在(或更改其电话号码),否则可能仍然存在(或该电话号码存在其他业务)。

答案 1 :(得分:3)

正如其他人所指出的那样,刮掉我们的网站或存储从api返回的数据是违反规定的。但是,您可以从我们的专业服务中获取您想要的数据: https://pro.whitepages.com/list-update/upload_file


Whitepages API领导。

答案 2 :(得分:1)

你可以抓住网站。如果你继续使用相同的ip,加上验证码,它们就有限制。如果你知道自己在做什么,那就很容易到处走走。此外,虽然它可能违反服务条款,但它肯定不违法。你不能通过版权电话号码和地址说法律,所以你不必担心。