【解決済み】ヨドバシとかZOZOのサイトにどうやってもスクリプトからアクセス出来ない

カテゴリー:Perl・Javascript・python、サーバー管理メモ(記事数:83)



↑B


2021.10.12

【解決済み】ヨドバシとかZOZOのサイトにどうやってもスクリプトからアクセス出来ない

https://www.yodobashi.com/product/100000001002798135/
https://zozo.jp/shop/xti/goods-sale/28300279/

上記は一例なんですが、perlのHTTP::Requestどころか、wgetでもアクセス出来ないん。もちろんWebブラウザではアクセス可能。どんな必要要件があるんですかね?教えて偉い人!!!!

例えばPerlだと

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
my $can_accept = HTTP::Message::decodable;
my $response = $ua->get('http://xxxxxx', 'Accept-Encoding' => $can_accept,);
if ($response->is_success) {
print $response->decoded_content;
}else{
print $response->status_line;
}

でアクセスするとタイムアウトしちゃう。

タイムアウト設定しないとデフォルトのタイムアウト(180秒)まで戻ってこない。
wgetだと永遠にレスポンスが返ってこない。

別にスクレイピングしようとかってわけじゃないんですが、このサイトはURLは自動でリンク先からサムネイル画像とってきてリンク生成する機能があるんで、URL書くとリンク生成する段階で固まっちゃうんだよ。困った。。。

追記
両方アクセス出来ました。みんなありがとー。ヘッダーを下記のように挿入したらアクセス出来ました。
my $can_accept = HTTP::Message::decodable;
my $response = $ua->get('https://xxxxxx',
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36',
'Accept-Language' => 'ja,en-us;q=0.7,en;q=0.3',
'Accept-Encoding' => $can_accept,
'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9');

しかし上記のヘッダーのうちどれがマストか検証してないけど少なくともこのUser-Agentが必須だった。これは今使っているChromeが出力しているもの。

または下記のように挿入。
$ua->default_header('User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36','Accept-Language' => 'ja,en-us;q=0.7,en;q=0.3','Accept-Encoding' => $can_accept,'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9');

と指定も可能。

下記はもともとのスクリプトで設定されていたUser-Agent。
Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0.1

これだとはじかれる念の入れよう。ボット対策かねぇ・・・・

PerlでWebページにアクセスする方法の俺的最新版は↓

Category:Perl・Javascript・python、サーバー管理メモ

 Keyword:Apple/182



コメント

いいっすね!=5
001 [10.12 17:11]どん:これでとれた。ブラウザは置き換えて。curl 'https://www.yodobashi.com/product/100000....' -H 'User-Agent: (ブラウザ)' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' --compressed -H 'DNT: 1' -H 'Connection: keep-alive'
002 [10.12 17:33]ちかぱか@Dion:User-Agent や Accept など、向こう側で必要なHTTPヘッダを受信するまで待ち受けているということですかね。
003 [10.12 18:19]サイト側もボットはなるべく弾きたい:似たような件で悩んでる人いましたね。https://teratail.com/questions/248027サーバーサイドじゃなくて、クライアントサイドで処理する(ページを閲覧しているブラウザ側でサムネイルなどを生成する)方が相手は嬉しいですよね。 (1)
004 [10.12 21:38]どん@OCN:多分ですが、リクエストを破棄してると思います。なのでタイムアウトまで待ってしまうんだと思います。 (1)
005 [10.12 22:21]yodobashiは>>001の人のでwgetとopenssl手打ちでも行けました@OCN:don't trackは不要でcompressionもいらないけどAccept-Encodingが無いと弾かれるみたいです。 (1)
006 [10.12 22:25]zozoの方はAccept-Languageが要るみたい@OCN:あとはyodobashiと同じで大丈夫そうです。 (1)
007 [10.12 23:14]ふぇちゅいん(管理人) TW★81:アクセスありがとー。上記に追記しましたがUser-Agentも厳密に見てるっぽい。 (1)
008 [10.12 23:15]ふぇちゅいん(管理人) TW★81:アクセス出来ましたありがとー。の打ち間違い。

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数:1737
2025.01.25正規表現のオンラインWebチェッカー
2021.12.05中国のSippedが50ドルQVGAののToFカメラユニットを今年中に出荷開始。UVC、UART/SPI出力3コメ
2021.12.05Pythonのコードをワンラインで実行形式に変換してくれるPyInstaller1コメ
2021.12.03チャート、グラフを書くのに良さそうなGoogle Chart以外のJavascriptライブラリ5つ3コメ
2021.11.18まだ使ってる?今は非推奨となったJavaScriptの書き方。document.writeが強く非推奨だと!!!?4コメ
2021.10.19PerlのGD::Image->new()は画像じゃないデータを読み込ませるとエラーになることがあるので事前に手動で画像であることを確認した方が良い1コメ
2021.10.12【解決済み】ヨドバシとかZOZOのサイトにどうやってもスクリプトからアクセス出来ない16コメ
2021.08.31現代的なPerlの記述方法一覧2コメ
2021.07.09JavaScriptでワンタッチで仮想キーボードを表示する2コメ
2021.02.10PythonでPowerPointを作るライブラリ「python-pptx」が色々活用出来そう。22コメ


→カテゴリー:Perl・Javascript・python、サーバー管理メモ(記事数:83)
アクセス数の多い記事(過去1ヶ月)
●2025.03.20:どんな不都合が・・・(未分類)680access
●2025.03.14:8年ぶりにサンライズ出雲に乗車!家族4人で「ソロ個室」4部屋に上り乗車したメモ(#おでかけ情報)480access
●2024.09.15:我らがトライアル。ベトナム米を販売開始!(#グルメ・料理)477access
●2025.03.16:大量のレモンを余さず果汁絞るのが難しい。安い絞り器はクソばかり(#自宅DIY #ルーフテラス活用)445access
●2025.03.11:初めての焼き肉きんぐ(物語コーポレーション)の株主優待お食事券をゲット!!!!!優待・配当利回り年率3%程度(#お金 #マネー)362access

すべて見る

Apple
Apple
2025/04/01 15:56:iOS 19は「ソラリウム」って呼ばれているらしい。さて、この意味は?(ギズモード・ジャパン)
2025/04/01 15:18:Apple Intelligenceが日本語対応、何ができる? ちょっとだけ触ってみた(ケータイ Watch)
2025/04/01 15:14:iOS 19が入らないかも。そんなiPhoneが噂されています(ギズモード・ジャパン)
2025/04/01 13:34:Apple整備済品てどうなん?新品なん?(ガジェット2ch)
2025/04/01 12:44:Apple Intelligenceが日本語に対応。iOS/iPad OS 18.4、macOS 15.4で (PC Watch)
Perl
2025/04/01 08:02:マイクロソフト、OSを介さず仮想化ハイパーバイザ上でWasmを高速起動し実行できる「Hyperlight Wasm」、オープンソースで公開(はてなブックマーク - 人気エントリー - 総合)
2025/03/31 23:42:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)Shinichir? Watanabe’s New Anime Lazarus Has the Juice(Gizmodo)
2025/03/28 22:22:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)Author Correction: Microglial mechanisms drive amyloid-β clearance in immunized patients with Alzheimer’s disease(Nature Medicine)
2025/03/27 10:30:Prime Video 4月新作は「機動戦士Gundam GQuuuuuuX」「片田舎のおっさん、剣聖になる」(AV Watch)
2025/03/23 09:10:(DeepL:小さなキューブ型キャンピングカーは、お金で買える最もステルスなナノホームかもしれない)Tiny cube camper might be the stealthiest nano-home money can buy(New Atlas - New Technology & Science News)
2025/03/21 15:24:(DeepL:人気ジムサプリの筋肉増強効果は誇張されすぎているかもしれない)Popular gym supplement's effects on muscle gains might be overstated(New Atlas - New Technology & Science News)
2025/03/20 03:26:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Charted: How Amazon Makes Its Billions(Visual Capitalist)
2025/03/20 03:20:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Split Fiction Players Complete Super-Secret Level And Win Awesome Prize(Kotaku)
2025/03/20 03:16:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Off-grid tiny house provides road-ready freedom for two(New Atlas - New Technology & Science News)
2025/03/20 00:50:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)The Difference Between Weightlifting and Weight Lifting (and Why It Matters)(Lifehacker)
2025/03/17 17:54:エプソン、オフィス内で使用済みの紙から再生紙を生み出す「PaperLab」に新型 (PC Watch)
2025/03/15 06:56:(DeepL:ハイパーポートチューブの中を時速400マイルで移動する輸送コンテナ)HyperPort: Moving shipping containers at nearly 400 mph through a tube(New Atlas - New Technology & Science News)
2025/03/13 02:44:(DeepL:モンスターハンターワイルドの最強武器はチャージブレード:使いこなすには?)Monster Hunter Wilds' Best Weapon Is The Charge Blade: Here's How To Master It(Kotaku)
2025/03/10 23:36:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)New leak brings more details about the iQOO Z10 series including the launch timeline(GSMArena.com - Latest articles)
2025/03/06 20:56:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)Microglial mechanisms drive amyloid-β clearance in immunized patients with Alzheimer’s disease(Nature Medicine)
2025/03/03 17:36:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)(FierceBiotech)
2025/02/27 09:22:[企業] Merck & Coの元研究開発長Roger Perlmutter氏のEikon社が3億5070万ドル調達(BioToday.com [新着ニュース])
2025/02/27 00:42:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Windows 11 Pro Is Now Just $10 (95% Off), Cheaper Than a Monthly Netflix Subscription(Gizmodo)
2025/02/21 13:52:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)?????(はてなブックマーク - 人気エントリー - 総合)
2025/02/17 14:36:(DeepL:)Shoei’s helmet personalization tech can’t come soon enough(New Atlas - New Technology & Science News)