Heim php教程 php手册 PHP图书网站采集实例教程

PHP图书网站采集实例教程

Jun 21, 2016 am 08:57 AM
book lt nbsp

在网上看到很多简单的采集教程,尤其是针对图书网站的比较多,但附带实例的并不多,在看了一篇针对八路中文网的抓取分析后,决定针对这个网站,写一个简单的抓取教程,并附带实例。由于俺偷懒,文中很多分析都是来自《利用PHP制作简单的内容采集器》,俺只是进一步优化了他的流程,并完成了代码实例的编写。
   采集程序其实并不难做,只要分析清楚流程,然后使用合适的正则来取到你想要的内容就可以了。废话不说了,教程开始:
   1.分析入口:
   多打开几本书后,可以发现书名的基本格式是:http://www.86zw.com/Book/书号/Index.aspx。于是得出:
 
代码:
$BookId='1888';
$index="http://www.86zw.com/Book/".$BookId."/Index.aspx";//组合书目首页URL
2.打开页面:
 
代码:
$contents=file_get_contents($index);
3.抓取图书信息页:
 
代码:
//抓取图书相关信息
preg_match_all("/
(.*)/is",$contents,$Arraytitle);
preg_match_all("/【点击阅读】/is",$contents,$Arraylist);
unset($contents);
$title=$Arraytitle[1][0];//书名
$list="http://www.86zw.com".trim($Arraylist[1][0]);//列表页URL
4.创建保存目录及文件:
 
代码:
//生成文本文档名称
$txt_name=$title.".txt";
Creatdir($BookId);//创建图片文件夹
writeStatistic($title."\r\n",$txt_name);//图书标题写入文本文件
5.进入列表页:
 
代码:
//进入列表页
$list_contents=file_get_contents($list);
6.抓取列表页章节:
 
代码:
//进入列表页
//分章节抓块
preg_match_all("|
(.*)  【分卷阅读】(.*)
|Uis",$list_contents,$Block);
//计算总章节数
$regcount=count($Block[0]);
7.分章节进行抓取:
 
代码:
//进入章节
for($pageBookNum=0;$pageBookNum    unset($Zhang);
    unset($list_url);
    $Zhang=$Block[1][$pageBookNum];//章节标题
    writeStatistic('章节:'.($pageBookNum+1).' '.$Zhang."\r\n",$txt_name);//章节标题写入文本文件
    preg_match_all("|
  • (.*)|Uis",$Block[3][$pageBookNum],$list_url);
        //进入页面
        for($ListNum=0;$ListNum        unset($Book_url);
            unset($Book);
            unset($Book_contents);
            unset($Book_time);
            unset($Book_title);
            $Book_time=$list_url[2][$ListNum];//小章节更新信息
            $Book_title=$list_url[3][$ListNum];//小章节标题
            $Book_url=preg_replace("'Index.shtm'si",$list_url[1][$ListNum],$list);//小章节链接URL
            writeStatistic(($ListNum+1).'.'.$Book_title.'-'.$Book_time."\r\n",$txt_name);//小章节标题写入文本文件
            $Book=file_get_contents($Book_url);
            //抓取图书内容
            preg_match_all("/
    (.*)
  • Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße Artikel -Tags

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern Oct 04, 2023 pm 05:45 PM

    Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern

    So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern Sep 22, 2023 am 11:37 AM

    So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern

    Wie ändere ich die Farbe der Titelleiste unter Windows 11? Wie ändere ich die Farbe der Titelleiste unter Windows 11? Sep 14, 2023 pm 03:33 PM

    Wie ändere ich die Farbe der Titelleiste unter Windows 11?

    So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11 So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11 Sep 15, 2023 pm 03:57 PM

    So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11

    OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10 OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10 Jul 16, 2023 pm 03:29 PM

    OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10

    Anleitung zur Anzeigeskalierung unter Windows 11 Anleitung zur Anzeigeskalierung unter Windows 11 Sep 19, 2023 pm 06:45 PM

    Anleitung zur Anzeigeskalierung unter Windows 11

    10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen 10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen Dec 18, 2023 pm 02:21 PM

    10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen

    Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari? Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari? Nov 29, 2023 pm 11:21 PM

    Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari?

    See all articles