Se me ha encomendado la tarea de crear una herramienta de auditoría de cookies que rastree todo el sitio web y recopile datos sobre todas las cookies en la página y las clasifique de acuerdo a si siguen los datos del usuario o no. Soy nuevo en Python, pero creo que este será un gran proyecto para mí, ¿BeautifulSoup sería una herramienta adecuada para el trabajo? Tenemos toneladas de sitios y actualmente estamos migrando a Drupal, por lo que debería poder escanear Polopoly CMS y Drupal.

0
Alex6534 29 ago. 2014 a las 13:48

3 respuestas

La mejor respuesta

No necesita bs4 para este propósito porque solo necesita información de las cookies. (use bs4 solo si finalmente necesita extraer algo del código html).

Para las cookies, usaría python-request y su soporte para sesiones http: http : //docs.python-requests.org/en/latest/user/advanced/

0
Curro 29 ago. 2014 a las 12:55

Urllib2 es para enviar solicitudes http, BeautifulSoup es para analizar html. Definitivamente necesitará una biblioteca de solicitud http, y es posible que también necesite BeautifulSoup dependiendo de lo que quiera hacer exactamente.

BeautifulSoup es extremadamente fácil de usar y analiza bien el html roto, por lo que sería bueno para obtener los enlaces a cualquier javascript en una página (incluso en los casos en que el html esté mal formado). Luego necesitará algo más para analizar el javascript y descubrir si está interactuando con las cookies.

Para ver cuáles son los valores de las cookies en el lado del cliente, simplemente mire el encabezado de solicitud http o use cookielib (aunque personalmente no he usado esta biblioteca).

Para solicitudes http, recomiendo la biblioteca requests, mirar los encabezados de solicitud http será tan simple como:

response = requests.get(url)
header   = response.headers

Sospecho que requests también tiene un acceso directo para acceder a los valores Set-Cookie del encabezado también, pero tendrás que investigar eso.

1
Sam P 29 ago. 2014 a las 10:15

No creo que necesites BeautifulSoup para esto. Puede hacer esto con urllib2 para la conexión y cookielib para las operaciones con cookies.

0
Vizjerei 29 ago. 2014 a las 09:56