2012-01-15 8 views
17

Sto provando a scaricare questa pagina usando Wget. Ecco il link alla pagina:Come lavorare con user-agent per scaricare una pagina web usando Wget

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

Ed ecco la mia cmd:

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

Quando lo uso per accedere alla pagina utilizzando un browser che funziona bene. Quando utilizzo Wget, scarica un'altra pagina, non quella originale. Penso che il problema sia per utente-agente. Qual è la soluzione?

+0

Provare a utilizzare Fiddler e vedere la struttura della richiesta http quando si apre l'URL nel browser. basta imitare la struttura nel comando wget. –

+0

fornirai un semplice esempio ?? – qmaruf

risposta

13

Il problema non è l'utente-agente, è un cookie o cookie mancanti. La soluzione è

  1. recuperare la pagina del prodotto normale con wget --save-cookies = ebay-cookies,
  2. Pesce "Stampa" link URL fuori da quel file HTML. (Ho fatto questo a mano, si dovrebbe, ovviamente, scrivere uno script per farlo.)
  3. recuperare l'URL "Stampa" con wget --load-cookies = ebay-cookies

ho provato con un casuale pagina del prodotto; ha funzionato.

+0

come hai scoperto che ebay-cookies è la parola da abilitare nel caso in cui lo faccio con qualche altro sito su come scoprire quali cookie abilitare i cookie di –

+2

ebay è solo il nome del file che ho scelto di memorizzare i cookie in Usa il nome che preferisci. La parte importante è l'uso di --save-cookies per salvare i cookie del sito e --load-cookie per caricarli e inviarli al sito web. –

Problemi correlati