2009-09-18 21 views
9

¿Estaba curioso si alguien ha oído hablar de algún tipo de API para pestañas de guitarra? Pasé por mi mente la idea de que sería genial si pudiera tomar las pestañas de la guitarra de Internet para ponerlas en mi aplicación C#, pero no he podido encontrar nada.Guitar Tab API?

Gracias, Chris

+0

¿La etiqueta "wpf" indica que está buscando un control WPF para mostrar las pestañas de la guitarra? – dtb

+0

Estoy usando WPF para mi diseño de interfaz de usuario. Creo que mi principal problema actualmente es solo obtener los datos de la tabla de guitarra. Parece que no puedo encontrar ninguna fuente de datos para ellos. – Chrisc

+0

Quité la etiqueta wpf ya que es irrelevante para esta pregunta. –

Respuesta

6

Puede utilizar System.Net.WebRequest para leer el repositorio de su elección.

También puede usar System.ServiceModel.Syndication.SyndicationFeed para leer feeds RSS.

EDIT: Pruebe raspando http://www.mxtabs.net/guitar_tabs/ usando WebRequest.

Puede escribir código que envía solicitudes a las páginas de ese (o cualquier otro) sitio web y analiza las respuestas para extraer información.

Sin embargo, es posible que desee obtener su permiso primero. Incluso podrían ofrecerle una API.

+1

+1 para contrarrestar el downvote inexplicable. – MusiGenesis

+0

LOL. Todos los sitios de pestañas de guitarra que encontré tienen * Stairway to Heaven * como la primera pestaña listada. Vamos, amigos, ¡hay * otras * canciones de guitarra en el mundo! – MusiGenesis

+0

No descarté esta respuesta, pero creo que Chrisc está buscando una forma de analizar las pestañas, no de obtenerlas en primer lugar. –

0

http://www.911tabs.com/ parece tener una gran selección, y todos parecen ser una variante de ASCII-art, por lo que sería relativamente fácil escribir una rutina de raspado de texto o HTML. Sin embargo, no parecen usar un formato muy estandarizado, así que esto podría ser más trabajo de lo que creo.

+0

¿está escaneando la mejor solución .NET que existe? ummm, no. – D3vtr0n

2

Para rozar una página web, primero determine exactamente qué datos desea extraer.

Visita las páginas relevantes con Fiddler ejecutándose, y mira las solicitudes HTTP y las respuestas que obtienes.

continuación, puede escribir código C# que solicita la página correspondiente y lee a través de la respuesta, línea por línea, en busca de líneas que le interesan.

Si la página web es compatible con XHTML, también puede analízalo usando XDocument, pero la mayoría de las páginas web no lo son.

+0

¿Cómo podemos analizar el analizador a prueba de este tipo si la página web remota cambia su estructura? Por ejemplo, mi analizador busca una etiqueta de "música" y la cambiaron a "musical". No veo forma de lidiar con esas cosas, pero lo estoy preguntando de todos modos. – sandalone

+0

La respuesta breve es: no se puede. El raspado de HTML siempre dependerá intrínsecamente de la estructura de la página que está raspando, y es probable que esa estructura cambie (incluso si la estructura de los datos subyacentes se mantiene relativamente estable). – deyur

2

Debería abordarlo desde otro ángulo ... ¿Por qué no hay un buen formato de datos para transferir datos de pestañas de guitarra? Quiero decir, el arte ASCII es bueno pero se daña fácilmente, y no codifica bien la información de tiempo.

Si pudiera encontrar un formato que pudiera alcanzar la masa crítica, sería una buena idea.

+0

Moose, eso es algo en lo que podría pensar en un futuro cercano. Pero, por ahora, realmente no tengo tiempo para invertir desafortunadamente. – Chrisc

+0

^parece que quiere más de lo que puede ofrecer. Realmente sugiero escribir su propio servicio web para mostrar los campos blob, es muy fácil de hacer, es compatible con .NET CLR y podría compartirlo con nosotros en Stackoverflow. No tengas miedo, te ayudaré a hacerlo si quieres. – D3vtr0n

+0

Devtron, ¿podría indicarme un tutorial o un servicio web de ejemplo? – Chrisc