当前位置:Gxlcms > PHP教程 > 开源中国个人帐号信息抓取实例

开源中国个人帐号信息抓取实例

时间:2021-07-01 10:21:17 帮助过:10人阅读

开源中国个人帐号信息抓取实例,代码供参考,简单改进,可快速制作一个命令行管理自己帐号的工具。
实例使用snoopy,simple_html_dom包,可直接在开源中国进行下载。。。。

  1. //需要调用到php包,从oschina中检索下载则可
  2. include "Snoopy.class.php"; // 抓取网页信息, 支持通过http代码方式,
  3. include "simple_html_dom.php"; //html分析包
  4. $snoopy = new Snoopy;
  5. // $snoopy->proxy_host="###";
  6. // $snoopy->proxy_port="8888";
  7. // $snoopy->user="***";
  8. // $snoopy->pass="****";
  9. $snoopy->agent = "(Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:24.0) Gecko/20131117 Firefox/24.0 PaleMoon/24.1.2)";
  10. $snoopy->referer = "http://www.oschina.net/";
  11. $snoopy->cookies["oscid"] = '******';
  12. $snoopy->fetch("https://www.oschina.net/home/login?goto_page=http%3A%2F%2Fwww.oschina.net%2F");
  13. //认证 需要认证才能有权限获取到数据
  14. $submit_url = "http://www.oschina.net/action/user/hash_login";
  15. $submit_vars["email"] = "*****";
  16. $submit_vars["pwd"] = SHA1("*******");
  17. $submit_vars["save_login"] = 1;
  18. $submit_vars["submit"] = "现在登录";
  19. $snoopy->submit($submit_url,$submit_vars);
  20. echo "认证情况\n";
  21. // print $snoopy->results;
  22. //认证通过后,开始获取数据
  23. $snoopy->fetch("http://my.oschina.net/******/admin/inbox");
  24. echo "开源中国个人帐号信息测试程序\n";
  25. echo "时间:".date("Y-m-d h:i:s")."\n";
  26. // echo iconv("UTF-8","GBK//IGNORE",$snoopy->results);
  27. $result=$snoopy->results;
  28. // print $result;
  29. //simple_html_dom解释包使用实例
  30. $SHTML=new simple_html_dom();
  31. $html = str_get_html($result);
  32. $messS=$html->find('ul.Msgs li[id]');
  33. foreach($messS as $mess){
  34. $aT=$SHTML->load($mess);
  35. echo "===================\n";
  36. echo $aT."\n";
  37. echo "-----------\n下面是上面html信息的分析提取处理:\n";
  38. echo '信息id: '.$aT->find('li[id]',0)->id.''."\n";
  39. echo '信息: '.trim($aT->find('div.msg',0)->plaintext)."\n";
  40. echo '日期: '.trim($aT->find('div.bottom span.date',0)->plaintext).' '."\n";
  41. print("===================\n");
  42. }

人气教程排行