抓取网页数据 php(php.ini中max_execution_time设置的大点,不然会报错的)

优采云 发布时间: 2021-09-21 18:23

  抓取网页数据 php(php.ini中max_execution_time设置的大点,不然会报错的)

  抓取之前,请记住将Max放在php.ini中,执行时间应设置得更大,否则将报告错误

  一、使用snoopy.class.php抓取页面

  一个可爱的类名。这个功能也非常强大。它用于模拟浏览器的功能。您可以获取web内容、发送表单等

  1)我现在想捕获网站列表页面的内容。我想捕获全国医院信息的内容,如下图所示:

  2)I自然复制URL地址,使用Snoopy类抓取前10页的页面内容,并将内容放在本地,在本地创建HTML文件进行分析

  $snoopy=new Snoopy();

//医院list页面

for($i = 1; $i fetch($url);

file_put_contents("web/page/$i.html", $snoopy->results);

}

echo 'success';

  3)奇怪的是,回来的不是国家内容,而是上海的相关内容

  4)后来,我怀疑里面可能放了一块饼干,然后我用firebug检查了一下。果然,有一个惊人的内幕故事

  5)将cookie的值放入请求中,并添加设置语句$Snoopy->Cookies[“_area]”,情况大不相同,国家信息顺利返回

  $snoopy=new Snoopy();

//医院list页面

$snoopy->cookies["_area_"] = '{"provinceId":"all","provinceName":"全国","cityId":"all","cityName":"不限™"}';

for($i = 1; $i results;

}

  2)use phpquery获取节点信息,如下DOM结构所示:

  使用一些phpquery方法和DOM结构读取每个医院信息的URL地址

  for($i = 1; $i attr('href')); //医院详情

}

}

  3)根据读取的URL地址列表抓取指定页面

  $detailIndex = 1;

for($i = 1; $i results);

$detailIndex++;

}

}

  FQ工具下载:

  障碍攀登

  演示下载:

  Snoopy类的一些描述:

  类方法

  获取($URI)

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线