后端开发|php教程
网页抓取信息(php正则表达式、php操作excel)
后端开发-php教程
1.问题描述
课表查询源码 html,阿发你好ubuntu,爬虫的应用推荐,php中$_,seo咨询 吉林lzw
实现对固定网页上自己需要的信息抓取,以表格形式存储。我是拿wustoj上的一个排行榜来练习的,地址:wustoj
asp美女图片网站源码,vscode不够强大,4k屏 ubuntu,查询tomcat 进程,sqlite怎么设置时间,竞店监控 插件,前端最主流框架选择,爬虫试卷答案英语,php处理数据,seo关键词文章代写,搬家公司网站模,网页qq客服,个人书法网站 织梦模板,苹果页面布局怎么好看,毕业设计物业管理系统,爱情网站程序下载lzw
匿名社区网站源码,vscode画表格,ubuntu系统 介绍,查看tomcat位,sqlite3将缓存写入,花盆土里的爬虫叫什么虫子,php root 权限,宁国谷歌seo营销公司,政府通用网站html模板下载,易语言 取外部网页选中文本,网站制作模板程序lzw
2.思路
网页自己就简单学习了一下php,刚好用它来做点事情吧,我的想法是这样的:
(1)查看网页源代码并保存在文件中。
(2)根据需要的信息写出正则表达式,读文件,根据正则表达式来提取需要的信息。写正则表达式的时候最好分组,这样提取起来就方便了很多。
(3)对excel操作,将提取的信息以excel的形式输出。
比较好的开源php处理excel类链接:点击打开链接
3.体会
^是指要是原字符串的开头,$是指要是原字符串的结尾。
空字符不一定是空格。
用来分组是好方法,如preg_macth_all(/$pattern/,$subject,matches)。
matches为二维数组,如果没有_all,则只会匹配第一部分,是一维数组。
$matches[0]保存完整模式的所有匹配。$matches[1]保存第一子组所有匹配,即所有匹配的第一部分。
中文匹配串我用的这个$patt_ch=chr(0x80).”-“.chr(0xff)。
4.代码
<?phpheader("Content-Type: text/html; charset=utf-8");$url = "http://acm./contestrank.php?cid=1014";$result=file_get_contents($url);$file=fopen("content.php","w");fwrite($file,$result);$file=fopen("content.php","r");$patt_ch=chr(0x80)."-".chr(0xff);//
";$objPHPExcel->getActiveSheet()->setCellValue(A.$row, $match[2]);$objPHPExcel->getActiveSheet()->getStyle(A.$row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);}if(preg_match("/$namepatt/",$line,$match)){//print_r($match);//echo$match[2]." ".$match[4]." ";//echo"
"; $objPHPExcel->getActiveSheet()->setCellValue(B.$row, $match[2].$match[4]);}if(preg_match("/$problempatt/",$line,$match)){//print_r($match);//echo$match[2]." ";//echo"
";$objPHPExcel->getActiveSheet()->setCellValue(C . $row, $match[2]);$objPHPExcel->getActiveSheet()->getStyle(C.$row)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);}$objWriter = new PHPExcel_Writer_Excel($objPHPExcel);$objWriter->save(str_replace(.php, .xlsx, __FILE__));}echo"well done:)";?>
5.运行结果
- 网友评论
-
网友评论仅供其表达个人看法,并不表明网站立场。