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

2番目のケースで機能するのはなぜですか?

4

1 に答える 1

1

2 番目の方法が機能する場合、それは偶然です。これらのリンクで何が起こるかは、完全にサイト次第です。

リンクは html ページのテキストでエンコードする必要がありますが、これは実際にページ上に存在&できるようにするためだけのものです。&実際の URL にはリテラル&のみを含める必要があります。

このエンコーディングの問題のため、 URL は;ではなくパラメーターを分離するために使用する必要があることを示唆する 1 つの HTML 標準への補遺があります。&この提案はほぼ普遍的に無視されました (CGI.pm を除いて、それに苦しむ必要があったすべての人を悩ませました)。

于 2012-12-06T17:43:23.493 に答える