关于Simple_html_dom的小应用
今天一同学给我推荐了本书,说是刚出不久,内容还不错,是心灵鸡汤类的书,于是按捺不住就像在网上下一本,可是木有资源肿么办。只有在线看的,作为一个准码农,所以甭废话了,咱得用代码解决问题对吧……
1.工欲善其事必先利其器
首先你得有个工具用吧,别想我之前似得抓个网页,就写了好多的$pattern去挨个匹配标签,作为伪程序员那哪行啊,对吧,咱得学着它Simple_html_dom
专门解析HTML文档的一东西,超好用的哦~。Simple_html_dom是什么东西在咱博客园上就有怎么用的博客,在这不做赘述。
2.代码详解
啥也甭说,还是代码说话给力,以下是抓去新浪的小说为例。
(1)首先得引入文件吧
include"simple_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加载
url_temp);
//查找class为mainContent的div
html->find("div[class=mainContent] h1",0);
//收集正文
html->find("div[class=mainContent] div[class=contTxt1]",0);
(6)适当的用正则控制以下格式
//换行
pattern,"\r\n",$content);
//加空格
pattern1," ",$content);
(7)当然少不了他了(去除html标签)
title);
content);
(8)写入文件即可
(9)恭喜你,小说抓取成功。
3.主要用到的技术
(1)对php的熟练应用
(2)掌握正则表达式。
(3)主要是Simple_html_dom.php的使用
(4)还得注意php超时问题
当循环太多时会出现超时问题,建议不要修改配置文件
作者:青玉伏案
出处:http://www.cnblogs.com/ludashi/
本文版权归作者和共博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
收简历:坐标美团(北京总部),长期招聘FE/iOS/Android靠谱工程师,入职后,可内部联系楼主,有小礼品赠送,有意者可邮箱投递简历:zeluli@foxmail.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?