首页 > 新闻动态 >  

新闻动态
NEWS

关于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超时题目


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

分享到: