私は淘宝網を解析しようとしている、product cardはエラー403禁止淘宝網の解析
データがブラウザでhere
しかし、移行時に私は403を得る禁止:
私はPHP 助けを借りて、この制限を回避することができますどのように、非常に多くの顧客が
私は淘宝網を解析しようとしている、product cardはエラー403禁止淘宝網の解析
データがブラウザでhere
しかし、移行時に私は403を得る禁止:
私はPHP 助けを借りて、この制限を回避することができますどのように、非常に多くの顧客が
詳細kip.taobao.com/json/dyn_combo.doは、別のdetailskip.taobao.comのURLを指す "referrer"ヘッダーを持たないリクエストをブロックします。参照元が実際のものである必要はないことに注意してください。偽装するだけで、実際に検証することはできません。ヘッダはそこに存在する必要があります。また、ユーザーエージェントヘッダーに "php"を含むリクエストをブロックします。ユーザーエージェントヘッダーを持たない要求もブロックします。
サンプルコード(curl_機能の周りにラッパーを検出するエラーとしてmy hhb_curl libraryを使用して)JSONを取得するために、参照元のヘッダーとユーザーエージェントを偽装:
<?php
declare(strict_types = 1);
header ("content-type: text/plain;charset=utf8");
require_once ('hhb_.inc.php');
$json = (new hhb_curl ('', true))->setopt_array (array (
CURLOPT_URL => 'https://detailskip.taobao.com/json/dyn_combo.do?itemId=556926591992&databiz=promotionPrice,upp,bonuscoupon,shopbonuscoupon,shopbonuscoupon,shopcoupon,sidebarcoupon,overseaNewDelivery,dynStock,overseaViewer,contract,activitySwitch,buycount',
CURLOPT_USERAGENT => 'curl/7.52.1',
CURLOPT_HTTPHEADER => array (
'Referer: https://world.taobao.com/item/556926591992.html'
)
))->exec()->getStdOut();
echo $json;
なぜエラーが出るのですか? 警告:/home/n/domen/domen/public_html/hhb_.incでサポートされていない 'strict_types'が宣言されています.php on line 2 構文エラー、予期しない ':'、予期しない '{' in /home/n/domen/domen/public_html/hhb_.inc.php on line 9 – newProgrammer
@newProgrammerこのコードが書かれているためPHP7のために、あなたはPHP5でそれを実行しようとしています。あなたは本当に、PHP7のtypehintsをアップグレードする必要があります実行する場合祝福 – hanshenrik
で、PHP7は、コード – newProgrammer
文句を言う必要がありますしてください、あなたは正確に、解析することができませんか? file_get_contentsだけまで読み込むのに対し、コンテンツ長の
string(82) "欧美高街bf风潮牌oversize宽松男女嘻哈hiphop套头卫衣情侣装外套"
string(9) "¥ 189.00"
(とprotipは、カールがはるかに高速に起因それに実行しますの理解:私は何の問題、製品の価格と製品名を解析し、
<?php
declare(strict_types = 1);
$html = file_get_contents ('https://world.taobao.com/item/556926591992.html');
$domd = @DOMDocument::loadHTML ($html);
$xp = new DOMXPath ($domd);
$name = $xp->query ('//span[@itemprop="name"]')->item (0)->textContent;
$price = trim (preg_replace ('/\s+/u', ' ', $xp->query ('//div[contains(@class,"price-show") and not(contains(@class,"hidden"))]')->item (0)->textContent));
var_dump ($name, $price);
出力を持っていませんこのWebサイトとカールはfile_get_contentsがサポートしていないgzip圧縮転送をサポートしており、カールはのfile_get_contentsに必要なphp.ini設定に依存しないため、CURLOPT_ENCODINGを使用した場合、ソケットは閉じられ、カールの帯域幅はかなり小さくなります)
パーサはサイト自体を必要としません: 'https:// world.taobao.com/item/556926591992.html'データソース: 'https:// detailskip.taobao.com/json/dyn_combo.do' – newProgrammer
@newProgrammer、https://world.taobao.com/item/556926591992.htmlは、最もユニークなcsrf-tokenをあなたがダウンロードして解析し、https://detailskip.taobao.com/json/dyn_combo.doに提供しなければならないhtmlとクッキーのセッションIDですが、後でどのデータを使用していますか? – hanshenrik
これらのデータはすべて:https://pp.userapi.com/c841226/v841226308/2273b/_yWRug4FwW.jpg – newProgrammer
私たちはより良いことができるように、関連するコードの一部を追加することを検討してください助けて! – AlexKoren
申し訳ありませんが、私はもうどこに向けるべきかわからないので、英語で質問しました。 – newProgrammer