-
关于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超时题目
当轮回太多时会呈现超时题目,建议不要批改设备文件