こんにちは、みんな、
WebページのHTMLコードを開こうとすると、ページのコンテンツではなく、Cookieの同意テキストのみが表示されます。
たとえば、英国にいて、jmpホームページを開こうとすると、次のようになります。
//:*/
Page = open("https://www.jmp.com/");
/*:
String( "<HEA... 2588="" total="" characters="" ...="">
" ) assigned.
//:*/
print (Page);
/*:
"<SCRIPT type="\!"text/javascript\!"">
function callAjax(url, fallbackUrl, callback){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState === 4 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; xmlhttp.status === 200){
callback(xmlhttp.responseText);
}
}
xmlhttp.open(\!"GET\!", url, true);
xmlhttp.timeout = 3000; // time in milliseconds
xmlhttp.ontimeout = function() {
console.log(\!"countrycode xhr request timed out\!");
window.location.replace(fallbackUrl);
}
xmlhttp.send();
}
function findInLocales(locales, cookielocale) {
var i = 0;
var found = \!"\!";
while (i &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt; locales.length &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; !found) {
if (locales[i].substring(2) === '_' + cookielocale.toLowerCase()) {
found = locales[i];
}
i++;
}
return found;
}
function geoResetURL(locales) {
var windowReplacement = window.location.href;
var regex = /\/[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]\//;
var regextest = /[a-zA-Z][a-zA-Z]_[a-zA-Z][a-zA-Z]/;
windowReplacement = windowReplacement.replace('.geo.', '.');
var match = document.cookie.match(new RegExp('(^| )usr_locale=([^;]+)'));
var cookielocale = '';
if (match != null &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; match.length &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; 2) {cookielocale = match[2];}
if (!cookielocale.match(regextest)) {
var result;
var code = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
callAjax( '/services/countrycode?'+code, windowReplacement,
function (result) {
var jsonresult = result.replace(/[()]/g, '');
cookielocale = findInLocales(locales, (JSON.parse(jsonresult)).address.country_code);
if (locales.indexOf(cookielocale) != -1) {
windowReplacement = windowReplacement.replace(regex, '/' + cookielocale + '/');
}
window.location.replace(windowReplacement);
});
} else {
if (locales.indexOf(cookielocale) != -1) {
windowReplacement = windowReplacement.replace(regex, '/' + cookielocale + '/');
}
window.location.replace(windowReplacement);
}
}
(function () {
var locales = ['en_us','en_be','de_at','zh_cn','en_dk','fr_fr','de_de','it_it','ja_jp','ko_kr','en_nl','en_ch','en_gb','en_ca','fr_ca','zh_tw','pt_br','es_mx','es_es','en_au','en_hk','en_my','en_ph','en_in','en_sg','es_ar','es_cl','es_co','es_pe'];
geoResetURL(locales);
}) ();</SCRIPT>
<P>Redirecting ...</P>
"
</HEA...>
正しい方向への提案に感謝します。
ロン
ブラウザで開発者ツールを開き(F12)、[ネットワーク]タブを選択して、jmp.comにアクセスします。そこからドメイン/ファイルを見て、「正しいもの」を見つけてみてください。


それを開いてみてください。
このアプローチは、Webサイトとそこから取得したいものに応じて、機能するか、少なくともあなたを近づける可能性があります。
ありがとう@jthi 、
私は開発者ツールを調べましたが、コマンドとしてまだそれをクラックすることができませんでした。
私はなんとかのhtmlを取得することができましたhttp://jmp.com/次の手順を実行します。
1)ファイル>>インターネットオープン>>ウェブページ。
2)jmp.comをWebページとして開きます

3)Cookieをインタラクティブに受け入れる/受け入れない

4)次のステートメントを実行します。
page = open ("https://www.jmp.com/en_gb/home.html")
注:Cookieの承認は、同じjmpセッション内でのみ有効です。 その後、好みは記憶されません。
このメソッドは、各セッションで1つのドメインからのみ情報をフェッチするため、私の場合に役立ちます。したがって、手動で承認することはそれほど難しくありません。データのフェッチ中にスクリプトがドメインを横断する場合は、これを何らかの方法で自動化すると便利です。
この方法は、実際にデータを取得していたWebページでも機能するため、その程度の信頼性があります。