Wordpress教程 2023年07月14日
0 收藏 0 点赞 889 浏览 1736 个字
<?php
/**
 * 新浪博客文章内容解析
 */
header("content-type:application/json; charset=utf-8");
error_reporting(0); // 关闭所有PHP错误报告

$url = 'https://blog.sina.com.cn/s/blog_4d89b834010300iu.html'; // 替换成你要抓取的新浪博客文章URL
if (empty($url)) {
	exit(json_encode(['code' => 203, 'msg' => '文章链接为空,例如https://blog.sina.com.cn/s/blog_4d89b834010300iu.html'], 320));
}

$data = curl($url);
preg_match('/<h2 id="t_.*?" class="titName SG_txta">(.*?)<\/h2>/', $data, $title); // 匹配文章标题
preg_match('/<div id="sina_keyword_ad_area2" class="articalContent[\s\S]*?>([\s\S]*?)<\/div>/', $data, $content); // 匹配文章内容

if (empty($title[1]) || empty($content[1])) {
	exit(json_encode(['code' => 204, 'msg' => '解析文章失败'], 320));
}

$value = [
	'code' => 1,
	'msg' => '获取成功',
	'data' => [
		'title' => $title[1],
		'content' => $content[1]
	]
];

echo json_encode($value, 320);

function curl($url) // Curl GET
{
	$ch = curl_init(); // Curl 初始化  
	$timeout = 30; // 超时时间:30s  
	$ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'; // 伪造抓取 UA  
	$ip = mt_rand(11, 191) . "." . mt_rand(0, 240) . "." . mt_rand(1, 240) . "." . mt_rand(1, 240);
	curl_setopt($ch, CURLOPT_URL, $url); // 设置 Curl 目标  
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Curl 请求有返回的值  
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // 设置抓取超时时间  
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 跟踪重定向  
	curl_setopt($ch, CURLOPT_REFERER, 'https://www.baidu.com/'); // 模拟来路
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:' . $ip, 'CLIENT-IP:' . $ip)); // 伪造IP  
	curl_setopt($ch, CURLOPT_USERAGENT, $ua); // 伪造ua   
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts  
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
	curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); // 强制协议为1.0
	curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); // 强制使用IPV4协议解析域名
	$content = curl_exec($ch);
	curl_close($ch); // 结束 Curl  
	return $content; // 函数返回内容  
}

 

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.mizhanw.com/blog/2554.html

相关推荐
woocommerce 订单相关钩子
woocommerce_checkout_update_order_meta: 在订单元数据更新时触发。您可以在此钩子中更新订单的元数据,例…
日期:2024-03-15 点赞:0 阅读:349
最新Wp Rocket设置教程, 含插件下载+常见问题解决方法
最新Wp Rocket设置教程(超详细), 附GPL版本插件下载链接。图文并茂详细解释每一个设置的含义以及优缺点+兼容性排除,找到最合适的设…
日期:2024-02-24 点赞:0 阅读:267
WordPress破解版插件/主题(开心版, GPL, Nulled)安全吗?有啥缺点?如何获取?
解版插件产业链,安全与否,以及如何下载安全高质量破解版插件,避免下载有病毒主题/插件。 WordPress破解版插件/主题安全吗?这是绝大多…
日期:2024-02-24 点赞:0 阅读:238
终极WordPress速度优化教程, 秒开页面! 优化思路+方法+工具
终极WordPress速度优化教程,全面讲解影响速度的因素和原理。FCP, LCP, TTFB, TBT, CLS,Wp corn, Mar…
日期:2024-02-24 点赞:0 阅读:392
WordPress 的最佳 Cloudflare 设置(边缘涡轮增压)
无论您的 WordPress 主机有多快都无关紧要;您永远无法克服网络延迟。像 Cloudflare 这样的内容分发网络 (CDN) 通过将…
日期:2024-02-24 点赞:0 阅读:257
使用国外主题/插件后网站变很卡响应速度很慢的问题
变卡的原因 由于国内GFW的限制,有些资源被挡在海外无法加载,或者有些资源服务器延迟太高,导致网站加载速度缓慢,解决办法如下,二选一即可。 …
日期:2024-02-21 点赞:0 阅读:299
发表评论
暂无评论

还没有评论呢,快来抢沙发~