今、以下のURLをcURLでhtml取得をしようとしています。
コードは以下の通りです。
php
1 $comp_url = "// https://employment.en-japan.com/desc_817158/"; 2 $ch = curl_init(); 3 curl_setopt($ch, CURLOPT_URL, $comp_url); 4 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 5 $comp_html = curl_exec($ch); 6 curl_close($ch); 7 8 echo $comp_html = mb_convert_encoding($comp_html,"sjis","utf-8");
この場合はhtmlをしっかりと取得することができていいるのですが、URLは同じでも以下のようにするとなぜか"Bad Request - Invalid URL"となってしまいます。
php
1for($i = 0; $i < $company_url_count; $i++){ 2 $comp_url = $company_urls[$i]; 3 $comp_url = substr($comp_url, 0, -2); 4 $ch = curl_init(); 5 curl_setopt($ch, CURLOPT_URL, $comp_url); 6 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 7 $comp_html = curl_exec($ch); 8 curl_close($ch); 9 echo $comp_html = mb_convert_encoding($comp_html,"sjis","utf-8"); 10 }
ちなみにvar_dump($company_urls)は以下の通りです。
php
1array(34) { [0]=> string(48) "https://employment.en-japan.com/desc_817158/ 2" [1]=> string(48) "https://employment.en-japan.com/desc_820874/ 3" [2]=> string(48) "https://employment.en-japan.com/desc_821940/ 4" [3]=> string(48) "https://employment.en-japan.com/desc_822200/ 5" [4]=> string(48) "https://employment.en-japan.com/desc_822693/ 6" [5]=> string(48) "https://employment.en-japan.com/desc_822829/ 7" [6]=> string(48) "https://employment.en-japan.com/desc_822960/ 8" [7]=> string(48) "https://employment.en-japan.com/desc_823225/ 9" [8]=> string(48) "https://employment.en-japan.com/desc_823622/ 10" [9]=> string(48) "https://employment.en-japan.com/desc_823635/ 11" [10]=> string(48) "https://employment.en-japan.com/desc_823763/ 12" [11]=> string(48) "https://employment.en-japan.com/desc_823885/ 13" [12]=> string(48) "https://employment.en-japan.com/desc_823914/ 14" [13]=> string(48) "https://employment.en-japan.com/desc_824020/ 15" [14]=> string(48) "https://employment.en-japan.com/desc_824074/ 16" [15]=> string(48) "https://employment.en-japan.com/desc_816618/ 17" [16]=> string(48) "https://employment.en-japan.com/desc_820530/ 18" [17]=> string(48) "https://employment.en-japan.com/desc_821515/ 19" [18]=> string(48) "https://employment.en-japan.com/desc_821853/ 20" [19]=> string(48) "https://employment.en-japan.com/desc_821858/ 21" [20]=> string(48) "https://employment.en-japan.com/desc_821888/ 22" [21]=> string(48) "https://employment.en-japan.com/desc_822274/ 23" [22]=> string(48) "https://employment.en-japan.com/desc_822528/
わかるかた、心当たりあるかたご回答や質問でもしていただけると大変嬉しいです。
何卒よろしくお願いいたします。
##追記
php
1 $company_url_count = count($company_urls); 2 for($i = 0; $i < $company_url_count; $i++){ 3 $comp_url = $company_urls[$i]; 4 echo $comp_url; 5 $ch = curl_init(); 6 curl_setopt($ch, CURLOPT_URL, $comp_url); 7 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 8 $comp_html = curl_exec($ch); 9 curl_close($ch); //終了 10 11 echo $comp_html = mb_convert_encoding($comp_html,"sjis","utf-8"); 12 }
上のsubstrは僕が作業をしていたのが残ってしまっていました。失礼しました。
正しくは上のコードです。
その時の出力結果が以下のようになっています。
回答4件
あなたの回答
tips
プレビュー