Statistiche facebook per un url

Come recuperare informazioni circa:

  • quanta gente ha condiviso un link?
  • quanta gente ha fatto clic su “mi piace”?
  • quanta gente ha commentato un url?
  • quanta gente ha cliccato su un url condiviso?

è sufficiente accedere ad un url come questo:

http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.google.com

il cui formato di risposta è questo:

<?xml version="1.0" encoding="UTF-8"?>
 <links_getStats_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true">
   <link_stat>
     <url>http://www.google.com</url>
     <share_count>292957</share_count>
     <like_count>151683</like_count>
     <comment_count>176116</comment_count>
     <total_count>620756</total_count>
     <click_count>265614</click_count>
     <normalized_url>http://www.google.com/</normalized_url>
     <comments_fbid>381702034999</comments_fbid>
   </link_stat>
 </links_getStats_response>

dichiarazione della classe per un oggetto in PHP

Per convenzione quando un oggetto non e’ istanziato in modo esplicito in questo modo:

$oggetto = new Classe();

è possibile dichiarare il tipo di un oggetto con:

/* @var $oggetto Classe */

Così facendo oltre ad avere del codice autodocumentato si mette nelle condizioni il vostro editor (Eclipse o Zend studio … ) di capire il tipo del dato e quindi attivare le varie funzionalità come autocompletamento, accesso ai metodi eccetera.
Questa convenzione è valida in tutti i file php, quindi per esempio anche nei partial e/o template di symfony dove si perde il concetto di tipizzazione degli oggetti.

Abilitare la visualizzazione degli errori in PHP

Mi segno qui, come appunto, due istruzioni semplici che attivano la notifica dettagliata degli errori in PHP:

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1); 

Riconoscimento volto con opencv in python

Riconoscimento del volto tramite una Webcam con opencv (python)

opencv, riconoscimento volto

opencv, riconoscimento volto

from opencv import cv as opencv
from opencv import highgui
import sys

print "Inizializzazione webcam"
camera = highgui.cvCreateCameraCapture(-1)
if (camera):
  print "Camera inizializzata"
else:
  sys.exit("Camera NON inizializzata")

im = highgui.cvQueryFrame(camera)
if (im):
  print "Acquisizione FRAME"
else:
  sys.exit("Errore acquisizione FRAME da webcam")

filexml ="haarcascade_frontalface_default.xml"
print "Caricamento file xml:"+filexml
cascade = opencv.cvLoadHaarClassifierCascade(filexml, opencv.cvSize(1,1))
if (cascade):
  print "Caricato"
else:
  sys.exit("Non caricato")
storage = opencv.cvCreateMemStorage(0)
loop = True
while(loop):
  frame = highgui.cvQueryFrame(camera)
  if (frame == None):
    break;
  grayscale = opencv.cvCreateImage(opencv.cvSize(frame.width, frame.height), 8, 1)
  opencv.cvCvtColor(frame, grayscale, opencv.CV_BGR2GRAY)

  faces = opencv.cvHaarDetectObjects(grayscale, cascade, storage, 1.2, 2,opencv.CV_HAAR_DO_CANNY_PRUNING, opencv.cvSize(50,50))
  if faces:
    #print 'face detected!'
    for face in faces:
      opencv.cvRectangle(grayscale, opencv.cvPoint( int(face.x), int(face.y)),
                         opencv.cvPoint(int(face.x + face.width), int(face.y + face.height)),
                         opencv.CV_RGB(127, 255, 0), 2) # RGB #7FFF00 width=2
  highgui.cvShowImage("Finestra", grayscale)
  char = highgui.cvWaitKey(33)
  if (char != -1):
    if (ord(char) == 27):
      loop = False
highgui.cvDestroyWindow("Finestra")
%d blogger hanno fatto clic su Mi Piace per questo: