如题,将爬取到的电影名写入文件中
相关函数: file_get_contents() file_put_contents()
实现原理:
豆瓣Top250的信息被分成了10等分,即每次从数据库中调用25条数据显示出来,所以我们使用file_get_contents()时,只需修改地址中的GET提交的参数,即可遍历全部数据,再通过正则获取我们需要的信息,写入到文件中
直接贴代码:
class F{
//抓取页面
public static function start()
{
for ($i=0; $i < 250; $i+=25) {
//豆瓣电影Top250的页面
$url = "https://movie.douban.com/top250?start=$i&filter=";
$contents = file_get_contents($url);
//调用封装在函数里的正则匹配
$msg = F::_B($contents);
foreach ($msg as $key => $value) {
//遍历写入文件
file_put_contents("movie.txt",$value.PHP_EOL,FILE_APPEND);
}
}
}
//字符串筛选
public static function _B($str){
$pattern = '/<a.*?<span class="title">([^<]+)/s';
preg_match_all($pattern,$str,$arr);
//返回匹配到的数组
return $arr[1];
}
}
//调用
F::start();