如何通过抓取php在社交媒体网站上搜索用户名称



主要问题

我想要一个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 抓取库

通过这种方式,您可以达到您想要的结果

编辑

不要试图抓取谷歌搜索,你会在一分钟内被列入黑名单,然后你需要为谷歌上的所有搜索填写验证码一周,一个月不确定谷歌算法是如何工作的,但这是一场噩梦。

最新更新