关于Simple_html_dom的小应用

    添加时间:2013-8-8 点击量:

      今天一同窗给我推荐了本书,说是刚出不久,内容还不错,是心灵鸡汤类的书,于是按捺不住就像在网高低一本,可是木有资料肿么办。只有在线看的,作为一个准码农,所以甭空话了,咱得用代码解决题目对吧……


      1.工欲善其事必先利其器


      起首你得有个对象用吧,别想我之前似得抓个网页,就写了很多多少的¥pattern去挨个匹配标签,作为伪法度员那哪行啊,对吧,咱得学着它Simple_html_dom


    专门解析HTML文档的一器材,超好用的哦~。Simple_html_dom是什么器材在咱博客园上就有怎么用的博客,在这不做赘述。


      2.代码详解


      啥也甭说,还是代码措辞给力,以下是抓去新浪的小说为例。


      (1)起首得引入文件吧


        includesimple_html_dom.php;


      (2)咱这抓小说斗劲简单,深度就一层,不涉及到什么图的深搜广搜,你只要调查URL的规律即可


        ¥url=http://vip.book.sina.com.cn/chapter/220331/2143;//用for轮回加器材就是了


      (3)若是for轮回的次数太多会报错:超时提示。甭愁闷这不是咱的错,这是设备文件的错,咱加上这句话就OK了


        ini_set(max_execution_time, 100);


      (4)实例化Simple_html_dom


        ¥html=new simple_html_dom();


      (5)然后就是for轮回生成一个个的URL然后提取内容了首要用到下面的器材  


        //从URL加载
        ¥html->load_file(¥url_temp);


        //查找class为mainContent的div
        ¥title=¥html->find(div[class=mainContent] h1,0);


        //收集正文
        ¥content=¥html->find(div[class=mainContent] div[class=contTxt1],0);


      (6)恰当的用正则把握以下格局


        //换行
        ¥content=preg_replace(¥pattern,\r\n,¥content);
        //加空格
        ¥content=preg_replace(¥pattern1, ,¥content);


      (7)当然少不了他了(去除html标签)


        ¥title=strip_tags(¥title);
        ¥content=strip_tags(¥content);


      (8)写入文件即可


      (9)恭喜你,小说抓取成功。


    3.首要用到的技巧


       (1)对php的谙练应用


       (2)把握正则表达式。


       (3)主如果Simple_html_dom.php的应用


       (4)还得重视php超时题目


      当轮回太多时会呈现超时题目,建议不要批改设备文件

    分享到: