Tengo un conocimiento intermedio en python. si tengo que escribir un rastreador web en python, qué cosas debo seguir y dónde debo comenzar. ¿Hay algún tut específico? cualquier consejo sería de mucha ayuda ... graciasUn rastreador web en python. ¿Dónde debería comenzar y qué debería seguir? - Se necesita ayuda
Respuesta
¿Por qué no buscar existing code que ya hace lo que necesita? Si necesita construir uno usted mismo, vale la pena examinar el código existente y deconstruirlo para descubrir cómo funciona.
Seguramente necesitará una biblioteca de análisis html. Para esto puedes usar BeautifulSoup. Puede encontrar muchas muestras y tutoriales para buscar urls y procesar el html devuelto en la página oficial: http://www.crummy.com/software/BeautifulSoup/
gracias ..:) para empezar, estoy interesado en saber qué bibliotecas/módulos debo importar? junto con este? mi objetivo es escribir un rastreador simple (sin multi hilos, si eso cuenta) –
BeautifulSoup es bastante fácil de trabajar. "De importación BeautifulSoup BeautifulSoup; sopa = BeautifulSoup.. (" "" ... "" ") –
Otra buena biblioteca que puede necesitar es para analizar feeds. Ahora que tiene BeautifulSoup para URL, puede usar Feedparser para los feeds. http://www.feedparser.org/
Bienvenido a Stackoverflow (SO) La próxima vez, acaba de editar su respuesta existente con la nueva información :) –
Recomiendo echarle un vistazo a Scrapy. La biblioteca puede funcionar con BeautifulSoup o cualquiera de sus analizadores HTML preferidos. Yo personalmente lo uso con lxml.html.
Fuera de la caja, recibirá varias cosas de forma gratuita: solicitudes
- concurrentes, gracias a Twisted
CrawlSpider
objetos de forma recursiva buscan vínculos en todo el sitio- Gran separación de extracción de datos & procesamiento, que aprovecha al máximo las capacidades de procesamiento en paralelo
1 para recomendar scrapy –
Si aún desea escribir uno desde cero, querrá usar el módulo mechanize. Incluye todo lo que necesita para simular un navegador y automatizar la búsqueda de URL. Seré redundante y también diré BeautifulSoup para analizar cualquier html que obtengas. De lo contrario, iría con Scrapy ...
Depende de sus necesidades. Si necesita webscraping básico, mecanize + BeautifulSoup lo hará.
Si necesita javascript para representar, entonces iría por Selenium o spynner. Ambos son geniales
IBM Developer Works tiene un artículo sobre este https://www.ibm.com/developerworks/linux/library/l-spider/#N101C6. Es probable que desee utilizar las bibliotecas que otros han sugerido, pero esto le dará una idea general del flujo.
import re, urllib
textfile = file('depth_1.txt','wt')
print "Enter the URL you wish to crawl.."
print 'Usage - "http://dynamichackerboys.blogspot.in" <-- With the double quotes'
myurl = input("@> ")
for i in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(myurl).read(), re.I):
print i
for ee in re.findall('''href=["'](.[^"']+)["']''', urllib.urlopen(i).read(), re.I):
print ee
textfile.write(ee+'\n')
textfile.close()
de impresión 'Uso - "http://dynamichackerboys.blogspot.in" < - Con las comillas dobles' myurl = input ("@> ") para i en re.findall ('' 'href =" '["' ] '' ', urllib.urlopen (myurl) .read(), re.I): imprime i para ee in re.findall (' '' href = "'["'] '' ', urllib.urlopen (i) .read(), re.I): de impresión ee textfile.write (EE + '\ n') textfile.close()
para el rastreo en el sitio web
- 1. ¿Con qué diagrama UML debería comenzar?
- 2. ¿Por dónde debería comenzar a construir un componente?
- 3. ¿Dónde debería comenzar con las bases de datos de aprendizaje?
- 4. Desarrollar un nuevo servicio web RESTful en .NET: ¿por dónde debería comenzar? ASP.NET-MVC, WCF?
- 5. ¿Debería seguir usando entidades html? ¿Por qué?
- 6. ¿Cómo debería uno comenzar a aprender desarrollo de aplicaciones web?
- 7. ¿Dónde debería descargar CorFlags.exe?
- 8. ¿Cuándo debería comenzar la automatización?
- 9. ¿Con qué versión de C# (y .Net) debería comenzar?
- 10. ¿Qué Python debería usar?
- 11. ¿Qué es un DSL y dónde debería usarlo?
- 12. ¿Por qué debería practicar Desarrollo controlado por prueba y cómo debería comenzar?
- 13. ¿Qué versión de Python debería usar para el desarrollo web?
- 14. ¿Dónde debería colocar scriptmanager
- 15. Hacer un rastreador web/araña
- 16. ¿Dónde debería una aplicación web Java almacenar sus datos?
- 17. ¿Qué debería servir Apache y qué debería servir Tomcat?
- 18. ¿Cómo debería comenzar a jugar con 3D?
- 19. ¿Por qué debería (o no debería) escribir mi nuevo sitio web en HTML 5 y CSS3?
- 20. ¿Dónde debería almacenar variables sensibles?
- 21. ¿Qué debería saber sobre Git antes de comenzar a usarlo?
- 22. Programador principiante interesado en Android: ¿debería comenzar con Java?
- 23. Debería hasOwnProperty seguir utilizándose para ... en las declaraciones
- 24. ¿Qué debería ser hadoop.tmp.dir?
- 25. ¿Dónde debería estar un repositorio Subversion?
- 26. ¿Qué estructura web de Perl debería usar?
- 27. ¿Qué instalación de python debería usar?
- 28. MEF: ¿Dónde debería colocar el CompositionContainer?
- 29. En Spring/JSP, ¿dónde debería formatearse?
- 30. rastreador web Python con base de datos MySQL
es solo que todavía soy un aprendiz y entenderé ciertas cosas solo si obtengo los conceptos básicos, la forma correcta. gracias por su ayuda, estoy mirando el código ahora :) –