thinkphp 抓取网站的内容并且保存到本地的实例详解

2025-05-29 0 119

thinkphp 抓取网站的内容并且保存到本地的实例详解

我需要写这么一个例子,到电子课本网下载一本电子书。

电子课本网的电子书,是把书的每一页当成一个图片,然后一本书就是有很多张图片,我需要批量的进行下载图片操作。

下面是代码部分:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28
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 "下载完成";

}

我这里是以人教版地理七年级地理上册为例子 http://www.dzkbw.com/books/rjb/dili/xc7s/001.htm

网页是从001.htm开始,然后数字一直加

每个网页里面都有一张图,就是对应课本的内容,以图片的形式展示课本内容

我的代码是做了一个循环,从第一页开始抓,一直抓到找不到网页里的图片为止

抓到网页的内容后,把网页里面的图片抓取到本地服务器

抓取后的实际效果:

thinkphp 抓取网站的内容并且保存到本地的实例详解

以上就是thinkphp 抓取网站的内容并且保存到本地的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://www.cnblogs.com/modou/p/5991617.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 thinkphp 抓取网站的内容并且保存到本地的实例详解 https://www.kuaiidc.com/93659.html

相关文章

发表评论
暂无评论