我該如何用PHP的cURL獲取這個奇葩的網頁內容?
最近想把我們學校圖書館的檢索放到移動端,我們學校領導頑固不化,資料庫暫時是不可能拿到的。只能通過網頁抓取,我用的是cURL。
但是,我們學校的圖書館檢索頁面抓取不到啊,親。反而深圳大學圖書館的檢索頁,一抓取,數據就出來了。PS:我們學校用的是深圳大學的圖書館系統。
我努力嘗試過的:頭部信息全部模擬了,no way。
求知友解答,感激不盡。我們學校圖書館鏈接:http://210.38.207.15:169/web/search.aspx
深圳大學圖書館鏈接:圖書館書目檢索系統============ 2-26補充 ============
補充說明:本以為這種最基本的cURL代碼不必貼出來,但被大家質疑伸手←_←
&
要加個Cookie
curl_setopt($curl,CURLOPT_HTTPHEADER,array("Cookie: ASP.NET_SessionId=xixpiynxc0d3yi55r4bves45"));
用IP的話加個Header就行了,
$url = "http://210.38.207.15:169/web/searchresult.aspx?anywords=androiddt=ALLcl=ALLdp=20sf=M_PUB_YEARob=DESCsm=tabledept=ALL";
$curl = curl_init($url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Accept-Language:zh-CN,zh;q=0.8,en;q=0.6,zh-TW;q=0.4"));
$data = curl_exec($curl);
curl_close($curl);
print_r($data);
奇葩的驗證,我本以為會是Host或者Referer
其實最快的方法就是把瀏覽器裡面看到的header都加上。路過...
搞定沒 這個樣子也是可以的
curl "http://210.38.207.15:169/web/" -H "Accept-Encoding: gzip" -H "Accept-Language: zh-CN" -c a.cookie
獲得了cookies之後,連-H "Accept-Encoding: gzip" -H "Accept-Language: zh-CN"
都不用了,直接
curl "http://210.38.207.15:169/web/" -b a.cookie
另,我也覺得莫名其妙,-H "Accept-Encoding: gzip" -H "Accept-Language: zh-CN"這兩個 欄位刪了哪個都不行,但我覺得他們並不是特別重要啊.
show me code ! 如果你想我們幫你直接寫個demo出來,請去百度。
啥信息都木有,怎麼幫你看
1. 你沒說你是怎麼抓的
2. 你的代碼呢?
3. 你抓取的結果呢?
這種問題。。。
先抓包分析原因,出現這種現象明顯就是你沒抓對頁面。推薦閱讀:
※使用python爬取pixiv.net的圖片?
※關於scrapy的crawlspider?
※爬蟲怎麼保存圖片?
※我爬網站的時候爬久了網站就會響應連接超時導致之後無法正常爬取,而此時網路很好但是有好多頁面都無法打開?
※有什麼好的python3爬蟲入門教程或書籍嗎?