$url = "http://mp.weixinbridge.com/mp/wapredirect?url=http%3A%2F%2Fwww.zhihu.com%2F
";
$ch = curl_init();
$timeout = 1;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
相對路徑的圖片不能顯示,如何使相對路徑的圖片正常顯示?
回複內容:
謝邀,哥們,抓不到資料是因為:
1.你沒有寫header
2.沒有寫cookie,
3.沒有針對https的url特殊設定
所以沒有抓到資料,好好研究我寫的這個代碼,這個是可以抓到資料的。
要是幫到了你,給哥點個贊,支援下。
\n\r"; } else {echo $html;}
我在暑假的時候爬過知乎,而且就是用的php+curl。知乎是有反爬蟲機制的,你要盡量偽裝成瀏覽器,包括header、useragent、cookie等等都設成瀏覽器上的一樣,至於這些在哪可以看到請善用chrome的F12控制台。光偽裝成瀏覽器是不夠的,因為知乎有的頁面是gzip加密的哦,所以你還要做好gzip解密的措施。如果知乎覺得你的行為可疑,知乎還會不定頻率的給你返回空白頁面,所以你還要做好資料驗證的措施。總的來說爬知乎是不難的,但要穩定可靠的一口氣爬完整個知乎還是很困難的。curl配置增加cookie資訊和header頭部試試看,有些網站防採集需要儘可能的類比。