在构建一个网站时,有时我们需要从其他网站抓取新闻内容。这里,我将分享一种使用cURL通过链接获取页面内容的方法,然后利用正则表达式匹配所需的信息。请注意,并非所有网站都可被抓取,必须遵循一定的页面结构,比如下面这种有规律的新闻列表。然而,新闻的详细内容通常需要单独抓取。
$url = "http://xxxx"; // 或者 "https://xxxx" 要抓取的链接新闻列表
$url = str_replace('', '', $url);
header("Content-Type: text/html;charset=utf-8");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 忽略https中的"s"
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 不直接输出
$html_data = curl_exec($ch);
curl_close($ch); // 关闭会话
// 确保已抓取到页面内容,可打印查看
// 如果未抓取成功,注意检查页面编码,使用iconv()转换编码
//$html_data = iconv('gbk', 'utf-8', $html_data);
$regular = '#h1id=activity-name(.*?)\/h1(.*?)spanid=post-date(.*?)span(.*?)pclass=page-content(.*?)pclass=text(.*?)\/p#is';
preg_match_all($regular, $html_data, $connect); // 正规匹配获取所需内容
// 循环提取所需内容数组
foreach ($connect as $k => $var) {
if ($k == 2 || $k == 3 || $k == 5 || $k == 7) {
$b = array_merge(array_filter($connect[$k]));
$array[] = $b;
}
}
// 得到数据数组后,根据需求添加数据
// 若需抓取详细内容,获取新闻详情页链接,同样用cURL获取信息
// 正则表达式的HTML需与页面格式一致,可通过浏览器右键查看源代码来检查格式
// 将要抓取的HTML复制并尝试匹配,若仍有无法抓取的部分,可能是格式问题,如空格差异
// 可逐步匹配,找出未匹配的部分
// 誉新源科技提供网站开发定制服务,基于LINUX + PHP + MYSQL框架构建,欢迎咨询我们的建站热线:400-870-3094
在当今这个科技日新月异的时代,编程语言作为与计算机沟通...
选择一个好用的高考报考软件对于即将面临志愿填报的考生和...
Django框架,作为Python世界中的明星级Web...
Python是一种功能强大且应用广泛的编程语言,它在多...
担任网站备案负责人是一项需要高度责任心和法律意识的职务...
出售备案域名本身并不违法,但必须满足以下几个关键条件
网站备案,特别是针对中国大陆地区的网站,需要满足一定的...
建立一个网站可以分为几个基本步骤,以下是简化版的教程指...
Google广告适合明确需求,Facebook广告擅长...
谷歌2005年成为域名注册服务商,可能考虑将域名信息纳...
专注于网站SEO优化,核心是满足用户需求和搜索引擎规则...
网站公司提供设计、开发及维护服务,拥有专业技术团队,涵...
通过搜索引擎优化提升网站排名,发布品牌信息到外部平台,...
单页网站是简洁的静态页面,利于SEO优化,尤其适用于快...
新手教师可参考课件模板网站提升PPT制作效率,如“包学...
阿里巴巴、贸管家、环球资源、ECVV等是知名外贸平台,...
短视频营销兴起,TikTok成为品牌新战场,月活破亿,...
沃然建站总结商场网站功能:产品展示、购物车、订单管理、...
网站过度优化可能导致降权、关键词排名下滑。特征包括锚文...