質問: phpを勉強し始め2ヶ月の初心者です。 練習に、スクレイピングサイトを作っているのですが、質問させてください。 とあるサイトから住所と電話番号をスクレイピングするサイトを作っているのですが、正規表現を利用しています。 ``` if(preg_match ("/(東京都|北海道|京都府|大阪府|.{6,9}県)((?:四日市|廿日市|野々市|かすみがうら|つくばみらい|いちき串木野)市|(?:杵島郡大町|余市郡余市|高市郡高取)町|.{3,12}市.{3,12}区|.{3,9}区|.{3,15}市(?=.*市)|.{3,15}市|.{6,27}町(?=.*町)|.{6,27}町|.{9,24}村(?=.*村)|.{9,24}村)(.*)/",$url_data,$matches)){ echo "住所 : ".$matches[0]; } ``` このようなソースコードでスクレイピングをしているのですが、成功率が半々くらいです。 というのも、とあるサイトでは成功するのに、とあるサイトではなにも拾ってこない。 失敗したサイトのソースコードを取り出して、原因を正規表現チェッカーで細かく調べてみたところ、 「javascript:」 「style=」 「 onMousever」 「'」 「
回答: 解決いたしました。 文字コードのエンコードがうまくできていなかったため起きた不具合でした。