¿Existe una API de Quora y me permitirían usarla para desarrollar una aplicación basada en preguntas y respuestas? ¿Habría problemas de derechos de autor / patentes, etc.?

No hay API pública, escribí la mía.

En realidad no es tan difícil; La única parte difícil es asegurarse de minimizar las solicitudes que hago a Quora. No quiero excederme y ser expulsado.

Mi script es del lado del servidor, escrito en PHP, pero estoy usando una tonelada de bibliotecas y servicios que mi compañía desarrolló en PHP y Ruby. Nada de eso importa realmente; es justo con lo que me siento cómodo. Cualquier lenguaje de programación podría hacer esto.

Todo lo que hago son solicitudes abstractas a las “entidades” de Quora, por ejemplo, sus preguntas, respuestas, usuarios, etc., y almacenarlas en caché localmente. Convenientemente, la mayoría de estos tienen esquemas de URL muy sencillos, como:

http://www.quora.com/ Oliver-Emberton (solicitar un usuario)
http://www.quora.com/ Oliver-Emberton / answers (solicite sus respuestas)
… etc …

Entonces, por mi parte, puedo decir algo como “obtenme información sobre Oliver Emberton”. Eso se convierte en una solicitud web para esa página. Analizo el HTML para localizar las piezas clave de información, haciendo coincidir los patrones de etiquetas y clases. Estos patrones varían según la página, pero generalmente son algo así como “todo el texto dentro de un div con esta clase”. Si inspecciona la fuente de Quora, no es difícil de entender.

Hay pocas advertencias; Quora carga parte del contenido de forma asincrónica (es decir, a través de Javascript, separado de la solicitud de HTML), esto significa que algunas páginas no devuelven ciertas métricas que otros hacen, al menos no todo el tiempo, y significa que no puedo inspeccionar fácilmente los datos históricos eso se sirve a través de AJAX. Actualmente, el diseño simplemente no necesita esos datos, pero finalmente puedo emplear un navegador sin cabeza como PhantomJS para solucionarlo. El selenio es otra opción.

Utilizo un limitador de velocidad para garantizar que todas las solicitudes sean correctas, y he diseñado mi enfoque para utilizar la cantidad mínima de solicitudes que creo que puedo resolver. Por ejemplo: verificaré una respuesta y, dependiendo de qué tan rápido cambie, la revisaré de nuevo con más o menos frecuencia. De esta manera, puedo hacer cosas interesantes, como rastrear cómo se desarrollan las respuestas con el tiempo. Por ejemplo:

Popularidad de la respuesta de Oliver Emberton a ¿Cuáles son las respuestas más votadas en Quora?


(El eje x es minutos)

Algunas personas me han preguntado si podría abrir esto, desafortunadamente no. El código depende en gran medida de las bibliotecas escritas por mi empresa. Sin embargo, es un poco descuidado en este momento, y algún día podría reescribirlo en Ruby o similar.

Actualización: parece que alguien más ya ha hecho esto. Ver: Quora Stalker Ruby Script.

Otra posibilidad es que construya algún tipo de sitio como TwitterCounter para Quora. Sin embargo, es probable que se cierre, y no estoy bendecido con una gran cantidad de tiempo libre para tal proyecto.

Idealmente, Quora lanzará su propia API o comenzará a incorporar sus propios análisis. Entiendo que mencionaron trabajar en una API una vez, pero nunca sucedió.

Oliver Emberton ha escrito sus propios scripts para raspar el HTML del sitio y producir su análisis. No hay una API pública de Quora.

Tomó la lista de los mejores escritores y revisó el perfil de cada persona y obtuvo los elementos principales en la página (respuesta principal reciente, seguidores, conteo de respuestas, etc.). Esta es mi suposición. Quizás él pueda corregirme si me equivoco.

Hasta donde sé, no hay una API oficial para obtener las estadísticas de un usuario. Entonces yo mismo hice esta API. La API se encuentra actualmente en fase de prueba (y mejora) y estoy esperando su desarrollo.

  • Es una API pública
  • Devuelve datos en XML
  • Los datos incluyen Vistas de los últimos 30 días y Vistas totales de las respuestas de una persona.

Cómo utilizar

  • Si desea obtener estadísticas de say, Yash (yo) , simplemente pase la babosa de perfil de la url como: http://yashverma.tk/quora-api/?u
  • Simplemente reemplace el Yash-Verma-52 por la babosa de perfil.
  • Puede obtener esta babosa desde su página de perfil. Echa un vistazo a la url.
  • La API devuelve XML
  • Ejemplo en vivo en http://yashverma.tk/quora-api/?u

Gracias !

Sahil Mahajan, ¿estoy leyendo correctamente que la API a la que se vincula consta exclusivamente de un único objeto JSON sobre el usuario que está conectado actualmente?

Me imagino que Quora no quiere publicar ningún dato útil real en su API por temor a que las personas simplemente repliquen partes de Quora en otros sitios y hagan innecesario que las personas vengan a Quora. Que, como puedo decir, no venden espacio publicitario hasta ahora (supongo que probablemente sea porque están vendiendo esos datos (es decir, nuestras preguntas y respuestas, y diversa información sobre puntos de vista y votos a favor, etc.) a otra persona. Quizás estén bajo contrato para no ofrecer los datos a otra parte o algo así.

Tenemos que convencer a Quora de que los geniales / extraños $ h * t que las personas harán con una API real serán más valiosos que su disposición actual, y más valiosos que los imitadores Quoras serán problemáticos. O eso, o tenemos que hacer que vean la luz más valiosa === enfriador / extraño.

Quora está pidiendo que se elimine la API no oficial 🙁
Es una pena que estén tratando de matar buenas iniciativas como esa. Consulte la solicitud de Quora al responsable del proyecto en karan / Qnowledge

Cuando otra compañía hace algo mejor que Quora y ofrece una API, Quora habrá terminado. Quizás entonces intenten ofrecer una API, pero será demasiado tarde.

La gente ha intentado escribir servicios similares a una API de Quora, pero Quora siempre les envía un cese y desistimiento. Quora simplemente no quiere ofrecer una API.

Aunque todavía no parece haber una API, vea esto: ¿La aplicación para iPhone de Quora usa una API de Quora? describe posiblemente uno en progreso / utilizado internamente para la aplicación de iPhone.

Lo más parecido a una API de Quora es karan / Qnowledge.

También existe un análisis detallado sobre el tema en:

¿Existe la API de Quora? ¿Cómo puedo usar la API de Quora?

No.

Los usuarios han reunido ‘API no oficiales’ anteriores, pero Quora ha aplastado tales esfuerzos repetidamente.

Puede que tengan miedo de que resulte en que muchos chicos reflejen su contenido con anuncios por dinero, algo que sucede con los datos de Stack Overflow una vez que se abren. Tal era el estado que, para algunos piratas de búsqueda, los sitios web ocuparían un lugar más alto que stackoverflow.

Puede ser desde el punto de vista comercial, es mejor para quora mantener las cosas detrás de la pared y luego abrirla.

No

(Puede haber una API utilizada internamente por el personal de Quora, pero no hay una pública).

Hice un paquete de Python para los datos relacionados con el tema en Quora, QTopic.

Una API para esto es un todo.