亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php file_get_contents數據采集與常用見問題解決

2024-09-04 11:48:10
字體:
來源:轉載
供稿:網友

在批量的數據采集在php中很少會使用file_get_contents函數來操作,但是如果是小量的我們可以使用file_get_contents函數操作,因為它不但好用而且簡單易學,下面我來介紹file_get_contents用法與使用過程中的問題解決辦法。

先來看問題,file_get_contents不能獲取帶端口的網址,例如如下代碼:

file_get_contents('http://localhost:12345');

沒有任何獲取,解決方法是:關閉selinux

1 永久方法 – 需要重啟服務器

修改/etc/selinux/config文件中設置SELINUX=disabled ,然后重啟服務器。

2 臨時方法 – 設置系統參數

使用命令setenforce 0附:

setenforce 1 設置SELinux 成為enforcing模式

setenforce 0 設置SELinux 成為permissive模式

file_get_contents超時,代碼如下:

  1. function _file_get_contents($url
  2.   $context = stream_context_create(array
  3.      'http' => array
  4.       'timeout' => 180 //超時時間,單位為秒 
  5.      )  
  6.   ));   
  7.   return @file_get_contents($url, 0, $context); 

好了上面的問題得到解決之后我們可以開始采集了,代碼如下:

  1. <?php  
  2. //全國,判斷條件是$REQUEST_URI是否含有html  
  3. if (!strpos($_SERVER["REQUEST_URI"],".html"))  
  4. {  
  5. $page="http://qq.ip138.com/weather/";  
  6. $html = file_get_contents($page,'r');  
  7. $pattern="/<B>全國主要城市、縣當天和未來五天天氣趨勢預報在線查詢</B>(.*?)<center style="padding:3px">/si";  
  8. //正則匹配之間的html  
  9. preg_match($pattern,$html,$pg);  
  10. echo "";  
  11. //正則替換遠程地址為本地地址  
  12. $p=preg_replace('//weather/(w+)/index.htm/''tq.php/$1.html'$pg[1]);  
  13. echo $p;  
  14. }  
  15. //省,判斷條件是$REQUEST_URI是否含有?  
  16. else if(!strpos($_SERVER["REQUEST_URI"],"?")){  
  17. //yoyo推薦的使用分割獲得數據,這里是獲得省份名稱  
  18. $province=explode("/",$_SERVER["REQUEST_URI"]);  
  19. $province=explode(".",$province[count($province)-1]);  
  20. $province=$province[0];  
  21. //被注釋掉的是我自己寫出來的正則,感覺寫的不好,但效果等同上面  
  22. //preg_match('/[^/]+[.(html)]$/',$_SERVER["REQUEST_URI"],$pro);  
  23. //$province=preg_replace('/.html/','',$pro[0]);  
  24. $page="http://qq.ip138.com/weather/".$province."/index.htm";  
  25. //獲取html數據之前先嘗試打開頁面,防止惡意輸入地址導致出錯  
  26. if (!@fopen($page"r")) {  
  27. die("對不起,該地址不存在!<a href=javascript:history.back(1)>點擊這里返回</a>");  
  28. exit(0);  
  29. }  
  30. $html = file_get_contents($page,'r');  
  31. $pattern="/五天天氣趨勢預報</B>(.*?)請輸入輸入市/si";  
  32. preg_match($pattern,$html,$pg);  
  33. echo "";  
  34. //正則替換,獲取省份,城市  
  35. $p=preg_replace('//weather/(w+)/(w+).htm/''$2.html?pro=$1'$pg[1]);  
  36. echo $p;  
  37. }  
  38. else {  
  39. //市,通過get傳遞省份  
  40. $pro=$_REQUEST['pro'];  
  41. $city=explode("/",$_SERVER["REQUEST_URI"]);  
  42. $city=explode(".",$city[count($city)-1]);  
  43. $city=$city[0];  
  44. //preg_match('/[^/]+[.(html)]+[?]/',$_SERVER["REQUEST_URI"],$cit);  
  45. //$city=preg_replace('/.html?/','',$cit[0]);  
  46. $page="http://qq.ip138.com/weather/".$pro."/".$city.".htm";  
  47. if (!@fopen($page"r")) {  
  48. die("對不起,該地址不存在!<a href=javascript:history.back(1)>點擊這里返回</a>");  
  49. exit(0);  
  50. }  
  51. $html = file_get_contents($page,'r');  
  52. $pattern="/五天天氣趨勢預報</B>(.*?)請輸入輸入市/si";  
  53. preg_match($pattern,$html,$pg);  
  54. echo "";  
  55. //獲取真實的圖片地址  
  56. $p=preg_replace('//image//''http://qq.ip138.com/image/'$pg[1]);  
  57. echo $p;  
  58. }  
  59. ?> 

如果上面辦法無法采集到數據我們可以使用以下代碼來處理,代碼如下:

  1. <?php  
  2. $url = "http://www.49028c.com";  
  3. $ch = curl_init();  
  4. $timeout = 5;  
  5. curl_setopt($ch, CURLOPT_URL, $url);  
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  7. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);  
  8. //在需要用戶檢測的網頁里需要增加下面兩行  
  9. //curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);  
  10. //curl_setopt($ch, CURLOPT_USERPWD, US_NAME.":".US_PWD);  
  11. $contents = curl_exec($ch);  
  12. curl_close($ch);  
  13. echo $contents;  
  14. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲一级高清| 亚洲电影免费观看高清完整版在线| 国产精品久久久久久久久久久新郎| 国产美女搞久久| 亚洲国产精品久久精品怡红院| 亚洲淫片在线视频| 亚洲午夜未满十八勿入免费观看全集| 久久色在线播放| 国外成人性视频| 欧美成人精品一区二区| 成人在线观看视频网站| 日韩高清免费在线| 亚洲精品xxx| 国产小视频91| 成人欧美一区二区三区在线湿哒哒| 国产精品久久视频| 精品无人区太爽高潮在线播放| 日韩av电影在线免费播放| 亚洲精品色婷婷福利天堂| 91国内精品久久| 国产亚洲精品美女久久久| 91亚洲精品久久久久久久久久久久| 色伦专区97中文字幕| 国内揄拍国内精品| 日本精品视频在线播放| 国产日韩欧美日韩大片| 美女扒开尿口让男人操亚洲视频网站| 欧美成年人视频网站| 日本高清久久天堂| 国产精品美女久久久久久免费| 久久免费精品视频| 欧美情侣性视频| 色一区av在线| 国产亚洲激情在线| 日韩av在线影院| 久久久精品电影| 91在线网站视频| 国产成人精品网站| 欧美性xxxxxxxxx| 狠狠色噜噜狠狠狠狠97| 欧美日韩国内自拍| 亚州国产精品久久久| 热re99久久精品国产66热| 欧美激情第6页| 欧美整片在线观看| 久久婷婷国产麻豆91天堂| 国产精品久久婷婷六月丁香| 日韩精品免费在线视频| 狠狠色香婷婷久久亚洲精品| 久久精品最新地址| 亚洲精品98久久久久久中文字幕| 欧美在线视频导航| 色先锋久久影院av| 97精品伊人久久久大香线蕉| 原创国产精品91| 国产精品日韩一区| 成人国产精品一区| 亚洲欧美国产日韩天堂区| 91日韩在线视频| 精品久久久久久国产91| 孩xxxx性bbbb欧美| 九色精品免费永久在线| 国产精品高潮呻吟久久av黑人| 国产女精品视频网站免费| 久久精视频免费在线久久完整在线看| 国产精品xxxxx| 亚洲视频一区二区三区| 欧美日韩成人在线观看| 国产精品视频在线播放| 亚洲精品98久久久久久中文字幕| 欧美体内谢she精2性欧美| 久久久久999| 久久久女女女女999久久| 51午夜精品视频| 国产成人精品视| 亚洲美女福利视频网站| www.亚洲男人天堂| 亚洲免费视频网站| 色播久久人人爽人人爽人人片视av| 最近2019中文字幕第三页视频| 国产女同一区二区| 亚洲人成伊人成综合网久久久| 这里只有精品在线观看| 有码中文亚洲精品| 深夜成人在线观看| 国产97在线|亚洲| 97成人在线视频| 97超视频免费观看| 久久在线免费视频| 国产精品91视频| 亚洲国产高清福利视频| 国产精品私拍pans大尺度在线| 亚洲视频国产视频| 91干在线观看| 欧美xxxx综合视频| 亚洲天堂成人在线视频| 欧美成人精品h版在线观看| 国产日本欧美视频| 久久久av电影| 亚洲第一综合天堂另类专| 国产欧美精品一区二区三区介绍| 插插插亚洲综合网| 庆余年2免费日韩剧观看大牛| 正在播放亚洲1区| 亚洲日本成人网| 奇米成人av国产一区二区三区| 国产成人综合精品在线| 亚洲一区第一页| 国产精品va在线播放我和闺蜜| 91视频国产高清| 国产亚洲精品美女| 精品国产老师黑色丝袜高跟鞋| 国产精品久久久久久久久久三级| 亚洲精品免费av| 久久精品国产清自在天天线| 欧美国产日韩精品| 在线视频欧美日韩精品| 成人免费大片黄在线播放| 欧美体内谢she精2性欧美| 蜜臀久久99精品久久久久久宅男| 日韩美女在线观看一区| 97涩涩爰在线观看亚洲| 久久综合88中文色鬼| 国产福利成人在线| 欧美激情欧美狂野欧美精品| 国产欧美一区二区三区在线| 国产精品久久久久久久久久| 久久91亚洲人成电影网站| 欧美性色19p| 45www国产精品网站| 中文字幕av一区二区| 日韩成人在线免费观看| 欧美性猛交xxxx乱大交3| 国产日韩在线视频| 91精品国产高清久久久久久久久| 91中文在线视频| 亚洲成色777777女色窝| 国产精品视频一| 国产一区二区三区毛片| 日韩av免费在线播放| 亚洲成年网站在线观看| 欧美大学生性色视频| 国产日韩欧美视频| 久久夜色精品国产欧美乱| 亚洲电影第1页| 欧美性黄网官网| 色阁综合伊人av| 国产视频自拍一区| 97热在线精品视频在线观看| 97精品一区二区视频在线观看| 日韩av在线看| 欧美在线观看日本一区| 97在线免费观看视频| 亚洲自拍另类欧美丝袜| 亚洲欧美综合精品久久成人| 成人激情在线播放| 91视频九色网站| 在线看福利67194| 亚洲一级免费视频| 亚洲免费小视频| 成人黄色免费在线观看| 久久精品国产清自在天天线| 亚洲欧美在线一区二区| 日韩欧美在线播放|