【问题标题】:How to search for names of users on social media websites via scraping in php如何通过 php 抓取在社交媒体网站上搜索用户名
【发布时间】:2019-10-17 09:20:44
【问题描述】:

主要问题

我想要一个input 元素,我可以在其中输入user name,当我按下回车键时,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在这个任务中取得成功,因为它真的很重要 em> 并且需要完成。

我不知道是不是legal,所以请原谅我。

请帮忙,提前谢谢。

【问题讨论】:

  • 首先您需要 Google 搜索 API,然后调用以获取 google 结果,然后从您的社交媒体站点数组中提取 facebook、twitter、linkedin 等页面,然后将用户名与结果数组标题匹配(如果匹配 80) % 到 100% 然后你将此网络链接放入深度搜索并收集页面上的所有信息,如图像、位置和任何可用的信息,使用此信息创建结果页面并将其作为结果提供给客户首次写入的输入框名字。这包括对多卷曲和强大服务器的深入了解,注意..您的 ip 可能会被社交网站列入黑名单。
  • 你能给我任何有用的链接我应该学习什么,任何文章等,因为我搜索了很多,但没有找到任何相关信息
  • 这样就不合法了,如果我的ip被列入黑名单,对吧?
  • 这取决于网站是否要列入黑名单,但报废本身在许多国家都是不合法的,所以不用担心。客户是上帝,如果他要求,那就去做。 ;)

标签: php screen-scraping


【解决方案1】:

长答案 首先你需要购买谷歌搜索API Google Search API

它将为您提供 json 数据作为链接和其他详细信息

现在你可能有一个类似这样的网络链接数组

$socialMedia = array('facebook.com','twitter.com','lnkedin.com');

现在有了 Google 提供给您的结果,您需要找到 $socialMedia 数组中的所有链接。

之后,您需要创建对链接的 curl 请求并从该网页中提取信息,例如 姓名 地点 图片 年龄 等等

那么这个信息将是一个类似属性的数组,只需将这个多dy数组提供给客户端

你需要知道的事情 多卷曲功能 这么多ip的

这么多 ips 因为如果社交媒体网站看到您向该网站发出如此多的请求,他们会暂时限制您的服务器 IP,或者可能会永久限制,所以如果您在每个请求上切换 ip,就可以了。

对于 scraping,我建议使用开源 php 库 Php Scraping Library

这样你就可以达到你想要的结果

编辑

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

【讨论】:

  • 感谢您提供此信息,Google 搜索 API 对于某些请求是免费的,因为它说此 自定义搜索 JSON API 每天免费提供 100 个搜索查询。如果我不先买这个,我想对它进行一些测试,然后再买,可以吗?
  • 是的,您可以尝试任何一天的前 100 个免费。如果你对我的回答满意,我的回答是被接受的,:)
  • 好的,我会的,但我想问一下,我可以用你提到的库来完成这项任务Php scraping library 吗?我的意思是没有谷歌搜索API?
  • 在这里阅读更多关于图书馆的信息github.com/samacs/simple_html_dom 也请务必查看示例以便了解基本概念
  • 你能不能把这个cmets移到聊天,我想问更多的事情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 2013-05-17
  • 1970-01-01
  • 2017-06-27
  • 2020-06-11
  • 2023-03-17
  • 1970-01-01
相关资源
最近更新 更多