回答
detailskip.taobao.com/json/dyn_combo.do會阻止沒有指向其他detailskip.taobao.com網址的「referrer」標頭的請求。請注意,引薦來源不一定是真實的,你可以僞造它,他們並沒有真正驗證它,頭部只是在那裏。另外,它們在用戶代理頭中用「php」來阻止任何請求。他們也阻止任何沒有用戶代理頭的請求。
示例代碼僞裝網址標頭和用戶代理,以獲得JSON(使用my hhb_curl library圍繞curl_功能的錯誤檢測包裝):
<?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 解析錯誤:語法錯誤,意外的':',期待'{'位於第9行的/home/n/domen/domen/public_html/hhb_.inc.php – newProgrammer
@ newProgrammer因爲寫了這段代碼對於PHP7,並且您正試圖在PHP5中運行它。你真的應該升級,PHP7的提示是一個祝福 – hanshenrik
如果運行,php7將有其他代碼段的問題 – newProgrammer
什麼是你無法分析,到底是什麼?我沒有問題,分析產品的價格和產品名稱,
<?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);
輸出:
string(82) "歐美高街bf風潮牌oversize寬鬆男女嘻哈hiphop套頭衛衣情侶裝外套"
string(9) "¥ 189.00"
(和普羅蒂普,捲曲將運行得更快,由於它的內容長度的瞭解而的file_get_contents只讀取,直到如果你使用了CURLOPT_ENCODING,curl會使用相當少的帶寬,因爲這個網站和curl支持file_get_contents不支持的gzip壓縮傳輸,curl不依賴於php.ini設置,file_get_contents需要)
解析器不需要網站本身:'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您必須下載並解析出html和一個cookie會話ID,並提供給https://detailskip.taobao.com/json/dyn_combo.do - 但是,您之後又會收到什麼數據? – hanshenrik
所有這些數據:https://pp.userapi.com/c841226/v841226308/2273b/_yWRug4FwWU.jpg – newProgrammer
- 1. 403禁止錯誤
- 2. 如何解決webclient.downloadfile錯誤403禁止
- 3. SVN錯誤403禁止
- 4. Joomla 403禁止的錯誤
- 5. wget的403禁止錯誤
- 6. Twython 403禁止錯誤
- 7. nginx的403禁止錯誤
- 8. 403禁止的錯誤
- 9. HTTP錯誤403:禁止
- 10. 403在phpMyAdmin禁止錯誤
- 11. lighttpd PHP錯誤:403 - 禁止
- 12. php 403禁止的錯誤
- 13. Apache 403錯誤禁止
- 14. HTTP錯誤403(禁止)
- 15. Python urllib.error.HTTPError:HTTP錯誤403:禁止
- 16. 403禁止的錯誤CGI
- 17. Wordrpress 403禁止錯誤
- 18. Python HTTP錯誤403禁止
- 19. PhpMyAdmin錯誤:403禁止
- 20. Heroku的403禁止錯誤
- 21. 谷歌錯誤403禁止錯誤
- 22. 錯誤403:禁止的錯誤
- 23. 錯誤:訪問被拒絕:(403)禁止?
- 24. urllib.error.HTTPError:HTTP錯誤403:禁止的Python
- 25. Tomcat返回403 - 禁止錯誤
- 26. CakePHP 3:給403禁止錯誤放
- 27. WordPress的403禁止的錯誤
- 28. Amazon S3 Put Object 403禁止錯誤
- 29. App Engine + HTTPS + PageSpeed = 403禁止的錯誤
- 30. nginx 403 root用戶禁止錯誤
請考慮增加一些相關的代碼,使我們能夠更好地幫幫我! – AlexKoren