次のアーティストを抽出しようとしています。このページ。私は多くのバリエーションを試しました
wget https://northside.dk/artister/
そして
wget --random-wait -r -p -e robots=off -U mozilla https://northside.dk/artister/
しかし、私はただ得るだけです。
<head>
<meta charset="UTF-8">
<meta name="google-site-verification" content="clAYDF67yhmgMMhQ8tcJTXpuo4TGpmHSbo4RyIMu6vY" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="shortcut icon" href="/img/favicon_43f15e.png">
<title>NorthSide - 4. - 6. juni 2020</title>
<script id="CookieConsent" src="https://policy.app.cookieinformation.com/uc.js" type="text/javascript"></script>
<!-- Google Tag Manager -->
<script>(function (w, d, s, l, i) {
w[l] = w[l] || []; w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
}); var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-K4RZFD');
if ( typeof "ga" === "function" ) {
ga('require', 'linker');
}
if ( typeof "gtag" === "function" ) {
gtag('config', 'UA-22269830-1', {
'linker': {
'domains': ['northside.dk', 'ticketmaster.dk', 'tmmikrobetaling.dk']
}
});
}
</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K4RZFD" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<link rel="shortcut icon" href="/favicon.png"><script type="text/javascript" src="/main_611e89.js"></script></head>
<body>
<div id="app-mount">
<div class="marble-loader" id="loader"></div>
<h1 id="loading-status">Booking music</h1>
</div>
</body>
予想される出力の代わりに、Firefox Inspectorに次のブロックが表示されます。
<a class="archive-grid-item-shell” href="/artister/3447" data-reactid=".0.1.4.1.0.0.0.$3447.1">
<div class="archive-grid-iten-content" data-reactid=".0.1.4.1.6.0.0.53447.1.0">
<div class="grid-iten-label” data-reactid=".0.1.4.1.0.8.0.$3447.1.0.0"> w/</div>
<div class="grid-iten-header’ data-reactid=".0.1.4.1.0.0.0.53447.1.0.1">
<span class="text-with-background" data-reactid=".0.1.4.1.0.0.0.53447.1.0.1.0">Clara</span>
</div>
</div>
</a>
すべてのオブジェクトがキャプチャされる場所です。ヘッダレスブラウザのlynxを試してみましたが、結果はwgetと同じでした。
私は何か間違っているのですか、それともページの実行方法のためにwgetを使用してコンテンツを取得できないのですか?
ベストアンサー1
この試み:
wget -q -O - "https://api.northside.dk/wp-json/wp/v2/cpt-artist/?orderby=menu_order&order=asc&per_page=100" | grep -oP '"raw":.*?[^\\]"'
"raw":"Clara"
"raw":"Folkeklubben"
"raw":"Franc Moody"
"raw":"Green Day"
"raw":"Hans Philip"
"raw":"Johnny Marr"
"raw":"Jung"
"raw":"Kashmir"
"raw":"Lukas Graham"
"raw":"Mags"
"raw":"Mekdes"
"raw":"Mew"
"raw":"Robyn"
"raw":"Spleen United"
"raw":"Weezer"
"raw":"White Lies"
アップデート#1
ブラウザで開発者ツールを実行します。 Chrome では F12 を押して実行できます。次に、Webブックマークを選択してWebサイトのアドレスを入力します。
この時点で、ブラウザがサーバーに送信したすべての要求と応答を表示できます。
ネットワークトラフィックを追跡すると、必要なデータのダウンロードを担当する要求が表示されます。
各要求を選択して、クエリパラメータ、応答、ステータスなどを確認できます。