¿Cómo acercarse a los grupos de Google discusiones sobre orugas
-
18-09-2019 - |
Pregunta
como un ejercicio de RSS me gustaría ser capaz de buscar a través de casi todas las discusiones Unix en este grupo.
Sé lo suficiente Python y entiendo RSS básica, pero estoy atascado en ... ¿cómo puedo agarrar todos los mensajes entre las fechas particulares, o por lo menos todos los mensajes entre enésima reciente y Mes recientes?
descripciones de alto nivel, pseudo-código es bienvenido.
Gracias!
EDIT:
Me gustaría ser capaz de volver más de 100 mensajes, pero no agarrar al igual que el análisis de 10 mensajes a la vez como el uso de esta URL:
http://groups.google .com / grupo / comp.unix.shell / temas? hl = es & start = 2000 & SA = N
Tiene que haber una mejor manera.
Solución
Como se ha mencionado Randal, esto viola la TOS de Google - sin embargo, como una hipotética o para su uso en otro sitio sin estas restricciones se podía bastante fácilmente plataforma algo con urllib y BeautifulSoup . Utilice urllib para abrir la página y luego usar BeautifulSoup para agarrar todos los temas de hilo (y enlaces si desea rastrear más profundo). A continuación, puede mediante programación encontrar el enlace a la página siguiente de resultados y luego hacer otra urllib para ir a la página. 2 - luego repetir el proceso
En este punto, usted debe tener todos los datos en bruto, entonces es sólo una cuestión de la manipulación de los datos y la implementación de la funcionalidad de búsqueda.
Otros consejos
Rastreo de grupos de Google infringe las href="http://groups-beta.google.com/googlegroups/terms_of_service.html" rel="nofollow noreferrer"> de Google, específicamente la frase :
utilizar robots, arañas, aplicación de búsqueda / recuperación del sitio, u otro dispositivo para recuperar o indexar cualquier parte del Servicio o de recopilar información sobre los usuarios para fines no autorizados
¿Está seguro que desea anunciar que usted está haciendo eso tan abiertamente? Y ¿Estás ciego a las consecuencias de su resultado?
Para N reciente, parece que podría pasar ?num=50
parámetro o algo en la URL del feed
Por ejemplo, 50 nuevos mensajes de grupo comp.unix.shell
http://groups.google .com / grupo / comp.unix.shell / feed / atom_v1_0_msgs.xml? num = 50
y luego recoger un programa feedparser como universal Alimentación Analizador
Hay opción .update_parsed
en feedparser , se puede utilizar para comprobar que el msg en particular, rango de fechas
>>> e.updated_parsed # parses all date formats
(2005, 11, 9, 11, 56, 34, 2, 313, 0)
¿Ha pensado en patanes YQL? No es tan malo y puede acceder a una gran cantidad de APIs. http://developer.yahoo.com/yql/
No sé si está soportadas grupos u pero puedo acceder a los canales RSS. Puedan ser de utilidad.