0

我正在测试如何使用数据抓取脚本从 Best Buy 的页面中抓取页面,并生成了如下链接:

http://www.bestbuy.com/site/searchpage.jsp?_dyncharset=ISO-8859-1&_dynSessConf=1803033044744184095&id=pcat17071&type=page&st=DOTD_2012126b&sc=Global&cp=1&nrp=15&sp=&qp=&list=n&iht=y&usc=All+Categories&ks=960&p=[promotion%2C+synonymns]&pu=defaultusr&pt=1354255201

上面的链接失效了,我得到了一个sorry, page not accessible error

但是,在手动用“&”替换那些与号 (&) 之后,它就起作用了。

另一个链接,也包括编码&的,有效。

http://www.bestbuy.com/site/PNY+-+32GB+Secure+Digital+High+Capacity+(SDHC)+Class+10+Memory+Card/2300602.p?id=1218318851702&skuId=2300602&st=2300602&cp=1&lp=1

为什么它在第二种情况下有效?

4

1 回答 1

1

如果第二个有效,那是偶然的;这些链接发生的任何事情完全取决于网站。

链接应该&在 html 页面文本中进行编码,但这只是为了允许&它们实际出现在页面上。实际的 URL 应该只有文字&

由于这个编码问题,一个 html 标准的附录建议 urls 应该;用于分隔参数而不是. &这个建议几乎被普遍忽略(除了 CGI.pm,它惹恼了所有不得不忍受它的人)

于 2012-12-06T17:43:23.493 回答