php网页抓取(以人教版地理七年级为例子,到电子课本网下载一本电子书 )
优采云 发布时间: 2021-09-15 00:01php网页抓取(以人教版地理七年级为例子,到电子课本网下载一本电子书
)
我需要写一个这样的例子并从电子教科书网站下载一本电子书。
电子教科书网络上的电子书把书的每一页都当作一张图,然后一本书就有很多图。我需要批量下载图片。
这是代码部分:
public function download() {
$http = new \Org\Net\Http();
$url_pref = "http://www.dzkbw.com/books/rjb/dili/xc7s/";
$localUrl = "Public/bookcover/";
$reg="|showImg\('(.+)'\);|";
$i=1;
do {
$filename = substr("000".$i,-3).".htm";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url_pref.$filename);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$html = curl_exec($ch);
curl_close($ch);
$result = preg_match_all($reg,$html,$out, PREG_PATTERN_ORDER);
if($result==1) {
$picUrl = $out[1][0];
$picFilename = substr("000".$i,-3).".jpg";
$http->curlDownload($picUrl, $localUrl.$picFilename);
}
$i = $i+1;
} while ($result==1);
echo "下载完成";
}
我这里以人民教育版地理七年级第一本地理书为例。
网页从001.htm开始,然后不断增加
每个网页都有一张图片,与课本的内容相对应。教材内容以图片形式展示
我的代码是一个循环,从第一页开始,直到找不到网页中的图片
抓取网页内容后,抓取网页中的图片到本地服务器
爬取后的实际效果: