网站首页 站群教程 原创站群教程 正文
在泛目录中很多时候因为文章内容源而困扰,使用实时采集新闻文章的方式,极大的介绍了站长配置网站内容的工作量。
这里分享一段使用Curl的方式采集新闻标题及文章内容的php代码。
代码分享
本代码是一个基于php语言和simple_html_dom第三方库的爬虫程序,可以从新闻网中获取符合特定条件的新闻链接,并随机选择一条链接进行爬取,再将获取到的新闻标题和正文插入到预设的模板中,生成新的文章内容。该代码的关键功能包括:
1. 实现了多线程批量爬取新闻链接,提高了数据抓取效率;
2. 设计了一套完整的筛选规则,只获取符合条件(包含"news."、"chn"和"html"三个关键字)的新闻链接;
3. 使用simple_html_dom库解析HTML文本,精确获取新闻标题和正文信息;
4. 将新闻标题和正文插入到指定文件中,生成一篇完整的新闻文章。
本代码可用于互联网数据挖掘、新闻自动化采集及产生等多个领域。如果您需要在这些领域中提高效率,本代码值得尝试!
$html = file_get_html("https://www.xxxxxnews.com/xxxxx.shtml"); $news_links = array(); if ($html) { foreach ($html->find('a') as $a) { $href = $a->href; if (strpos($href, 'news.') !== false && strpos($href, 'chn') !== false && strpos($href, 'html') !== false) { $news_links[] = strpos($href, 'http') === false ? "https://www.xxxxxnews.com/" . $href : $href; } } $news_links = array_unique($news_links); } if (!empty($news_links)) { $random_link = $news_links[array_rand($news_links)]; $chs = array(); $mh = curl_multi_init(); foreach ($news_links as $link) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $link, CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)', CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, )); curl_multi_add_handle($mh, $ch); $chs[] = $ch; } $running = null; do { curl_multi_exec($mh, $running); } while ($running); $title = ""; $body = ""; foreach ($chs as $ch) { $html = curl_multi_getcontent($ch); $doc = new simple_html_dom(); $doc->load($html); $doc_title = $doc->find('title', 0); $doc_body = $doc->find('.left_zw,.content_desc,.current_img', 0); if ($doc_title && $doc_body) { $title = $doc_title->plaintext; $body = $doc_body->innertext; break; } } foreach ($chs as $ch) { curl_multi_remove_handle($mh, $ch); curl_close($ch); } curl_multi_close($mh); $title = trim($title); $body = str_replace(array('【编辑:', '责任编辑:'), '', $body); $moban = str_replace('{文章内容}', $body, $moban); $moban = str_replace('{文章内容}', ContentPinyin($body), $moban); } $moban = str_replace('{文章标题}', $title, $moban); }
代码解析
这段代码主要是通过爬虫从新闻网获取新闻链接,并随机选择一个链接进行爬取,最终将新闻标题和正文插入到一个指定的模板中,生成一个新的文章内容。具体解析如下:
1、通过file_get_html()函数获取新闻网的网页HTML内容。
$html = file_get_html("https://www.xxxxxnews.com/xxxxx.shtml");
2、对于获取到的HTML内容,使用simple_html_dom库进行解析,读取所有<a>标签,并筛选出符合条件的新闻链接(包含"news."、"chn"和"html"三个关键字)。
foreach ($html->find('a') as $a) { $href = $a->href; if (strpos($href, 'news.') !== false && strpos($href, 'chn') !== false && strpos($href, 'html') !== false) { $news_links[] = strpos($href, 'http') === false ? "https://www.xxxxxnews.com/" . $href : $href; } }
3、对于筛选出的新闻链接数组$news_links,随机选择一个链接进行爬取,并使用curl_multi_init()函数开启多线程爬虫。
$random_link = $news_links[array_rand($news_links)]; ... $mh = curl_multi_init(); foreach ($news_links as $link) { $ch = curl_init(); ... curl_multi_add_handle($mh, $ch); $chs[] = $ch; }
4、使用do-while循环执行curl_multi_exec()函数,等待所有的线程执行完毕。
$running = null; do { curl_multi_exec($mh, $running); } while ($running);
5、对于每个链接,首先使用curl_multi_getcontent()函数获取其HTML内容,并用simple_html_dom库解析出新闻标题和正文。
foreach ($chs as $ch) { $html = curl_multi_getcontent($ch); $doc = new simple_html_dom(); $doc->load($html); $doc_title = $doc->find('title', 0); $doc_body = $doc->find('.left_zw,.content_desc,.current_img', 0); if ($doc_title && $doc_body) { $title = $doc_title->plaintext; $body = $doc_body->innertext; break; } }
6、关闭curl句柄并关闭多线程爬虫,整理新闻标题和正文的格式,并将其插入到预设好的模板中。
foreach ($chs as $ch) { curl_multi_remove_handle($mh, $ch); curl_close($ch); } curl_multi_close($mh); $title = trim($title); $body = str_replace(array('【编辑:', '责任编辑:'), '', $body); $moban = str_replace('{文章内容}', $body, $moban); $moban = str_replace('{文章内容}', ContentPinyin($body), $moban); $moban = str_replace('{文章标题}', $title, $moban);
7、最后,程序会返回经过处理的模板,即生成的新闻文章。
必看说明
- 本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。
- 本站文章或仅为文本内容原创,非程序原创。如有侵权、不妥之处,请联系站长第一时间删除。敬请谅解!
- 本站所有内容严格遵守国家法律的条例,所有研究的算法技术均来源于搜索引擎公开默认允许用户研究使用的接口。
- 阅读本文及获取资源前,请确保您已充分阅读并理解《访问曹操SEO网站需知:行为准则》。
- 本站分享的任何工具、程序仅供学习参考编写架构,仅可在本地的虚拟机内断网测试,严禁联网运行或上传搭建!
- 任何资源必须在下载后24个小时内,从电脑中彻底删除。不得传播或者用于其他任何用途!否则一切后果用户自负!
- 转载请注明 : 文章转载自 站群程序 使用Curl的方式采集新闻标题及文章内容的php代码
- 本文标题:《使用Curl的方式采集新闻标题及文章内容的php代码》
- 本文链接:http://www.zqcx.cn/1994.html
猜你喜欢
- 2024-04-01 CCSEO原创蜘蛛统计v1.3
- 2024-03-23 搜狐自媒体批量发布软件V2.3
- 2024-01-27 CCSEO原创蜘蛛统计v1.2
- 2023-10-22 CCSEO原创蜘蛛统计v1.1
- 2023-08-28 链接中“?scm=1102.xchannel:1475:110036.0.3.0~9010.400.0.5.0”的含义
- 2023-06-27 粉色移动影视泛目录
- 2023-06-16 泛目录爬词工具PHP代码
- 2023-06-16 为泛目录关键词提供下拉词联想功能
- 2023-05-31 分享一段采集文章段落、标题及实时热词的php代码
- 2023-05-26 承接模板定制、程序开发
你 发表评论:
欢迎- 8336℃遵纪守法:一起举报违法网址
- 7472℃警惕“冒用身份”的电信网络诈骗
- 7457℃备案域名的买卖管控会越来越严,不要尝试!
- 5340℃6月1日是《中华人民共和国网络安全法》实施五周年
- 4538℃违规事件分类与违规信息类型说明
- 4691℃关于严格遵守网络安全法规的公告
- 6693℃百度正打击构造虚假标题等违规站点
- 8188℃「百日行动」“断卡”行动持续发力
- 16158℃懒人开源站群程序V2.4.2:影视模板V2
- 15762℃通过Nginx配置增强网站安全性
- 14728℃搜狐号安全系统升级通知
- 14678℃多线程批量查询百家号文章存活情况
- 12314℃多线程批量查询链接收录情况(免代理)
- 12117℃百家号批量发布软件V1.8.5
- 11531℃企业网站安全漏洞应对:从修复到增强全方位安全新举措
- 8361℃CCSEO原创蜘蛛统计v1.3
- 12-09百家号批量发布软件V2.4.4
- 10-06关于SEO的一些真诚思考
- 08-18罪恶克星:不良网站举报工具填表版
- 05-01多线程批量查询百家号文章存活情况
- 04-22通过Nginx配置增强网站安全性
- 04-22企业网站安全漏洞应对:从修复到增强全方位安全新举措
- 04-21搜狐号安全系统升级通知
- 04-18多线程批量查询链接收录情况(免代理)
- 近期评论
- 文章归档
-
- 2024年10月 (1)
- 2024年8月 (1)
- 2024年5月 (1)
- 2024年4月 (10)
- 2024年3月 (6)
- 2024年1月 (2)
- 2023年12月 (4)
- 2023年11月 (2)
- 2023年10月 (7)
- 2023年9月 (24)
- 2023年8月 (6)
- 2023年7月 (20)
- 2023年6月 (13)
- 2023年5月 (26)
- 2023年4月 (48)
- 2023年3月 (21)
- 2023年2月 (15)
- 2023年1月 (10)
- 2022年12月 (10)
- 2022年11月 (3)
- 2022年10月 (28)
- 2022年9月 (37)
- 2022年8月 (16)
- 2022年7月 (23)
- 2022年6月 (24)
- 2022年5月 (10)
- 2022年4月 (53)
- 2022年3月 (67)
- 2022年2月 (3)
- 2022年1月 (4)
- 2021年12月 (24)
- 2021年11月 (18)
- 2021年10月 (3)
- 2021年9月 (22)
- 2021年8月 (60)
- 2021年7月 (3)
- 2021年6月 (16)
- 2021年5月 (25)
- 2021年4月 (1)
- 2021年3月 (39)
- 2021年1月 (7)
- 2020年12月 (19)
- 2020年11月 (11)
- 2020年10月 (49)
- 2020年9月 (114)
- 2020年8月 (63)
- 2020年7月 (28)
- 2020年6月 (50)
- 2020年5月 (124)
- 2020年4月 (83)
- 2020年3月 (91)
- 2020年2月 (81)
- 2020年1月 (18)
- 2019年12月 (79)
- 2019年11月 (16)
- 2019年10月 (35)
- 2019年9月 (3)
- 2017年12月 (1)
- 2017年11月 (203)
- 2017年10月 (155)
- 标签列表
- 站点信息
-
- 文章总数:2025
- 页面总数:7
- 分类总数:46
- 标签总数:339
- 评论总数:9366
- 浏览总数:5898972
本文暂时没有评论,来添加一个吧(●'◡'●)