Como encontrar e contar emoticons em uma string usando python?

Este tópico foi endereçado para emoticons baseados em texto emlink1, link2, link3. No entanto, eu gostaria de fazer algo um pouco diferente do que combinando emoticons simples. Estou classificando os tweets que contêm os ícones dos emoticons. As seguintes informações unicode contêm exatamente esses emoticons:pdf.

Usando uma string com palavras em inglês que também contém qualquer um desses emoticons dopdfGostaria de poder comparar o número de emoticons ao número de palavras.

A direção que eu estava indo não parece ser a melhor opção e eu estava procurando por alguma ajuda. Como você pode ver no script abaixo, eu estava apenas planejando fazer o trabalho a partir da linha de comando:

$cat <file containing the strings with emoticons> | ./emo.py

script emo.py psuedo:

import re
import sys

for row in sys.stdin:
    print row.decode('utf-8').encode("ascii","replace")
    #insert regex to find the emoticons
    if match:
       #do some counting using .split(" ")
       #print the counting

O problema que estou correndo é a decodificação / codificação. Eu não encontrei uma boa opção para codificar / decodificar a string para que eu possa encontrar corretamente os ícones. Um exemplo da string que desejo pesquisar para encontrar o número de palavras e emoticons é o seguinte:

"Smiley emoticon rocks! Eu gosto de você"

O desafio:você pode fazer um script que conte o número de palavras e emoticons nesta string? Observe que os emoticons estão sentados ao lado das palavras sem espaço entre eles.

questionAnswers(3)

yourAnswerToTheQuestion