主要问题
我想要一个input
元素,我可以在其中键入user name
当我按 Enter 时,php
的后端script
应该在不同的social media sites
上搜索该名称,并给我与该name
匹配的结果。
我的客户要求我给他这样的功能,以便当他搜索不同names
的用户时,他应该从social media sites
或可能other
等网站获得一些结果。
我认为似乎scraping
网站以获取一些信息,可能是我在wrong
.
我已经为我的网站编写了以下脚本来抓取它。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/');
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);
$DOM = new DOMDocument;
libxml_use_internal_errors(true);
$DOM->loadHTML($html);
$elements = $DOM->getElementsByTagName('a');
foreach ($elements as $element) {
echo "<div style = 'margin-left:10px;'>".$element->nodeValue.'</div><br>';
}
?>
我得到的结果是该页面上的所有anchors
。
如何在social media
站点中搜索specific names
?
是否有任何api
等,如果有,请给我您宝贵的回应,如果no
,请让我知道在这项任务中取得成功alternative
,因为这真的很重要并且需要完成。
我不知道它是否legal
,所以请原谅我。
请帮忙,提前谢谢。
长答案 首先,您需要购买谷歌搜索API 谷歌搜索接口
它将为您提供json数据作为链接和其他详细信息
现在你可能有一个像这样的 Web 链接数组
$socialMedia = array('facebook.com','twitter.com','lnkedin.com');
现在,根据Google提供给您的结果,您需要找到$socialMedia数组中的所有链接。
之后,您需要创建对链接的 curl 请求并从该网页中提取信息,例如 名字 位置 图像 年龄 等
那么这个信息将是一个类似数组的属性,只需将这个多dy数组服务器到客户端
您需要了解的事情 多卷曲功能 这么多IP的
如此多的ip,因为如果社交媒体网站看到您向该网站发出如此多的请求,他们将限制您的服务器IP一段时间或可能是永久性的,因此如果您在每个请求上切换IP,那就没问题了。
对于抓取,我建议使用开源 php 库 Php 抓取库
通过这种方式,您可以达到您想要的结果
编辑
不要试图抓取谷歌搜索,你会在一分钟内被列入黑名单,然后你需要为谷歌上的所有搜索填写验证码一周,一个月不确定谷歌算法是如何工作的,但这是一场噩梦。