Pitón.
Primero , hay muchas buenas bibliotecas que puede usar para analizar páginas HTML, como lxml, BeautifulSoup, PyQuery, Parsel, etc. Por lo tanto, no tiene que recurrir a expresiones regulares increíblemente complejas y frágiles para raspar los datos que desea .
En segundo lugar , hay una impresionante biblioteca http llamada Solicitudes que puede usar para obtener los datos y navegar por las páginas.
- ¿Dónde puedo encontrar el código CSS para navegaciones receptivas para la vista de teléfonos inteligentes como http://www.goodappstudio.com/ o http://www.apple.com/de/ipad-pro/ has?
- ¿Qué tecnologías web están ejecutando healthcare.gov?
- ¿Cómo clono www.tailorstore.com en Django? Me gustaría saber cómo este sitio superpone los patrones de diseño sobre la misma imagen de tela, algo así como TeeSpring. ¿Qué bibliotecas usan?
- ¿Qué computadora portátil es mejor para un desarrollador web, una computadora portátil Surface con Windows 10 Pro o una MacBook Air?
- ¿Puedes aprender Ember.js si conoces Node.js?
Y por último, pero no menos importante , Scrapy. Es el marco de raspado web más popular que existe (16k estrellas en github y contando). Scrapy resuelve automáticamente muchos problemas relacionados con el rastreo, como sesiones / cookies, redirecciones, reintentos, aceleración, autenticación HTTP, entre muchas otras características. Y todo esto es personalizable. También le permite raspar las páginas utilizando selectores CSS o expresiones XPath.
Aquí hay un ejemplo rápido que elimina los envíos de la página principal de reddit / r / programation:
importación scrapy
clase Reddit (scrapy.Spider):
nombre = “reddit”
start_urls = [‘http://www.reddit.com/r/programming’]
def parse (auto, respuesta):
para enviar en response.css (“div.entry”):
rendimiento {
‘url’: submit.css (“a.title :: attr (href)”). extract_first (),
‘title’: submit.css (“a.title :: text”). extract_first (),
‘usuario’: submit.css (“a.author :: text”). extract_first ()
}
Otra cosa interesante sobre el uso de Python y Scrapy para webscraping es la comunidad detrás de esto. Hay muchos complementos impulsados por la comunidad, canales de soporte (StackOverflow, lista de correo de usuarios scrapy, canal IRC #scrapy, etc.) y también la documentación oficial.
Descargo de responsabilidad: trabajo en Scrapinghub, los principales encargados de Scrapy.