获取廖雪峰老师的Python3教程的php脚本
加入Xiuno开发群已有一段日子了,今天无意才发现杨老师竟然是一位盲人,看了他的经历感触颇深,一个简单的盲人也能活得如此精彩,深深的祝福。晴天博客:http://www.qt.hk/about/
<?php
/**
* 获取Python3教程
* 感谢廖雪峰老师
* 教程地址: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
* 命令行下运行
* @AUTHOR: 杨永全
* @E-mail: qt06.com@139.com
* @URL: http://www.qt.hk/
* WEIBO: http://weibo.com/qt06
*/
$base_url = "http://www.liaoxuefeng.com";
//获取教程目录页面
$s = file_get_contents("http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000");
//匹配出包含教程目录的html片段
preg_match('#<ul class="uk-nav uk-nav-side" style="margin-right:-15px;">(.*?)</ul>#is', $s, $rs);
$s1 = $rs[1];
//匹配出目录列表
preg_match_all('#<a href="(.*?)">(.*?)</a>#is', $s1,$list);
$cnt = count($list[1]);
for($i=0;$i< $cnt;$i++) {
//命令行打印章节标题和地址
echo iconv('utf-8', 'gbk', $list[2][$i] . ',' . $list[1][$i]), "\r\n";
//需要保存的文件名
$filename = iconv('utf-8', 'gbk', ($i + 1) . ' ' . $list[2][$i] . '.txt');
//获取教程详细内容
$s = file_get_contents($base_url . $list[1][$i]);
//匹配出详细内容
preg_match('#<div class="x-wiki-content">(.*?)</div>.*?<hr>#is',$s,$rs);
$s = $rs[1];
//过滤html标记,并适当处理空行
$s = str_replace(">\n<",">\n\n<",$s);
$s = strip_tags($s);
$s = str_replace("\n\n\n", "\n\n", $s);
$s = str_replace("\n\n\n", "\n\n", $s);
$s = str_replace("\n\n\n", "\n\n", $s);
//可能会有副作用,导致代码中的\\n被处理
$s = str_replace("\n", "\r\n", $s);
//处理html实体字符
$s = str_replace('>', '>', $s);
$s = str_replace(''','\"', $s);
//保存到当前目录,windows的文件名必须是gbk
file_put_contents($filename, $s);
}
//弹出对话框提示完成
passthru("mshta javascript:alert('finished.".$cnt."');window.close();");
信息无障碍不是献爱心更不是做公益慈善