2012-01-15 11 views
17

Estoy tratando de descargar esta página usando Wget. Aquí está el vínculo:Cómo trabajar con el agente de usuario para descargar una página web usando Wget

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&rt=nc&item=250972882769&si=a8iGAIchyvEbn7KveYFZ5QbEE7o%3D&print=all&category=31387

Y aquí está mi cmd:

wget -O ebay.html --user-agent = "Mozilla/5.0 (Windows NT 5.2; rv: 2.0.1) Gecko/20100101 Firefox/4.0.1" "http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&rt=nc&item=250972882769&si=a8iGAIchyvEbn7KveYFZ5QbEE7o%3D&print=all&category=31387"

Cuando lo uso para acceder a la página con un navegador que funciona bien. Cuando uso Wget, descarga otra página, no la original. Creo que el problema es para el usuario-agente. ¿Cual es la solución?

+0

Pruebe usar Fiddler y vea la estructura de la solicitud http cuando abra la URL en su navegador. simplemente imita la estructura en tu comando wget. –

+0

¿darás un ejemplo simple? – qmaruf

Respuesta

13

El problema no es el agente de usuario, es una cookie o cookies que faltan. La solución es

  1. recuperar la página del producto normal con wget --save-cookies = ebay-cookies,
  2. pescado "Imprimir" enlace URL de ese archivo HTML. (Lo hice con la mano, obviamente debe escribir un script para hacerlo.)
  3. recuperar la "impresión" URL con wget --load-cookies = ebay-cookies

he probado con una muestra aleatoria página del producto; funcionó.

+0

cómo descubrió que ebay-cookies es la palabra para habilitar en caso de que lo haga con algún otro sitio cómo saber qué cookies habilitar –

+2

ebay-cookies es solo el nombre del archivo en el que elegí almacenar las cookies . Usa el nombre que quieras. La parte importante es el uso de - save-cookies para guardar las cookies del sitio y cargar las cookies para cargarlas y enviarlas al sitio web. –

Cuestiones relacionadas