如何使用用户代理使用Wget下载网页

qma*_*ruf 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-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 "

当我使用浏览器访问页面时它工作正常.当我使用Wget时,它会下载另一个页面,而不是原始页面.我认为问题出在用户代理上.解决方案是什么?

Kyl*_*nes 13

问题不是用户代理,而是缺少cookie或cookie.解决方案是

  1. 使用wget检索正常的产品页面--save-cookies = ebay-cookies,
  2. 从该HTML文件中删除"打印"链接URL.(我是手工完成的,显然你应该编写一个脚本来完成它.)
  3. 使用wget --load-cookies = ebay-cookies检索"打印"URL

我用随机产品页面试了一下; 有效.

  • ebay-cookies只是我选择存储cookie的文件的名称.使用您喜欢的任何名称.重要的是使用--save-cookies来保存站点cookie和--load-cookies来加载并将它们发送回网站. (2认同)