2012-01-15 3 views
17

Wget을 사용하여이 페이지를 다운로드하려고합니다. 여기Wget을 사용하여 사용자 에이전트를 사용하여 웹 페이지를 다운로드하는 방법

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

그리고 내 cmd를한다 :

wget을 -O ebay.html의 --user 에이전트 = "모질라/5.0 (윈도우 NT 다음 페이지 링크입니다 5.2 장, : 2.0.1) 게코/20100101 파이어 폭스/4.0.1 ""http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&rt=nc&item=250972882769&si=a8iGAIchyvEbn7KveYFZ5QbEE7o%3D&print=all&category=31387 "

나는 그것이 잘 작동 브라우저를 사용하여 페이지에 액세스하는 데 사용할

. Wget을 사용할 때 원래 페이지가 아닌 다른 페이지를 다운로드합니다. 나는 문제가 user-agent를위한 것이라고 생각한다. 해결책은 무엇입니까?

+0

브라우저에서 URL을 열 때 Fiddler를 사용하여 http 요청 구조를 확인하십시오. wget 명령으로 구조를 모방하십시오. –

+0

간단한 예를 들어 주시겠습니까 ?? – qmaruf

답변

13

문제는 사용자 에이전트가 아니며 쿠키 또는 쿠키가 누락되었습니다. 이 솔루션은

  1. wget을 --save-쿠키 = 이베이 - 쿠키와 일반 제품 페이지,
  2. 물고기가 HTML 파일 중 "인쇄"링크 URL을 검색합니다. (I 손으로 이런 짓을, 당신은 분명히 그것을 할 수있는 스크립트를 작성해야합니다.)
  3. 은 wget과 함께 --load-쿠키 = 이베이 - 쿠키

나는 무작위로 시도를 "인쇄"URL을 검색 제품 페이지; 그것은 효과가 있었다.

+0

어떻게 eBay-cookies가 다른 사이트에서 사용하도록 설정했는지 알아 냈습니까? –

+2

eBay-cookies는 쿠키를 저장하기로 선택한 파일의 이름입니다. 네가 좋아하는 이름을 써라. 중요한 부분은 --save-cookies를 사용하여 사이트 쿠키를 저장하고 --load-cookies를로드하여 웹 사이트로 다시 보내는 것입니다. –

관련 문제