PHP京東商城爬取網頁亂碼問題解決

2021-10-03 11:57:50 字數 443 閱讀 6864

最近公司要求做天貓和京東的店鋪爬取,天貓店鋪磕磕碰碰算是出了結果,然而進行到京東時確發現無論是file_get_contents 還是 curl,爬下來的網頁總是會是寫莫名其妙的文字,並不是常規的亂碼,所以判斷可能是京東伺服器對網頁做了處理,首先懷疑是不是被加密了,如果是加密就需要找到加密規則,那這工作就難進行了,最後經過一番資料查詢,最後確定是網頁進行了gz壓縮,編輯器由於開啟了二進位制檔案所以呈現了亂碼。

那麼既然確定了問題出現的原因,接下來就該尋找解決方案。

搜尋出兩種解決方案,第一種就是將return的字元進行解碼 $return = gzdecode($return); 第二種則是在curl請求時附加 curl_setopt($ch, curlopt_encoding, 'gzip'); 

兩種我都嘗試了一下,第一種成功解決亂碼,第二種不知為何,新增了之後curl請求回來的內容竟然為空,那麼很明顯,就用第一種吧

爬取京東商城商品資訊

from selenium import webdriver from selenium.webdriver import actionchains 獲取屬性 from selenium.webdriver.common.keys import keys from selenium.webdrive...

selenium 爬蟲爬取京東商城商品資訊

看完用selenium爬取 商品資訊的網課,於是乎想著自己也整乙個selenium程式來爬取京東以作鞏固。寫了幾個小時的 通過不斷除錯,學到了很多細節上的處理,完整 在下方,使用時修改搜尋的引數就可以開始爬取了,事先要安裝goole chrome的驅動。最終爬取的結果儲存在了products陣列中,...

NCrawler爬取中文網頁時亂碼問題的解決方法

查詢原因,發現在ncrawler.htmlprocessor專案下htmldocumentprocessor.cs中的process 方法使用htmldoc.detectencoding reader 進行頁面編碼檢測,出現中文亂碼情況。改用httpwebresponse中返回的characters...