1. public function export(){
  2. set_time_limit(1000);
  3. // header("Content-type: text/html; charset=utf-8");
  4. $a = file_get_contents('http://chuangye.yjbys.com/zhengce/');
  5. $reg = '/<\/span><a href="(.*)" (.*)>(.*)</isU';
  6. $result = preg_match_all($reg,$a,$match_result);
  7. $arr = array();
  8. foreach($match_result[1] as $k=>$v){
  9. $tnum = strlen($match_result[3][$k]);
  10. if(substr($v,0,1) == 'h' && $tnum>21){
  11. $arr[$k]['art_url'] = $v;
  12. $arr[$k]['art_title'] = mb_convert_encoding($match_result[3][$k], "UTF-8",'gbk');
  13. // $match_result[3][$k];
  14. mb_convert_encoding($match_result[3][$k], "UTF-8",'gbk');
  15. $b = file_get_contents($v);
  16. preg_match('/<div class=\"content\">(.*)<\/div>/s',$b,$match);
  17. $match[0] = iconv("gbk", "utf-8", $match[0]);
  18. $num = strpos($match[0],'<script type="text/javascript">a("content_body");</script>');
  19. $cont = substr($match[0],0,$num)."</div>";
  20. $cony = str_replace('<div class="ad_top_left"><script type="text/javascript">a("content_1");</script></div>',"",$cont);
  21. $cont = str_replace('<div class="ad_top_left2"><script type="text/javascript">a("content_2");</script></div>',"",$cony);
  22. // $cont = str_replace('“','“',$cont);
  23. // $cont = str_replace('”','”',$cont);
  24. // $cont = str_replace('…','~',$cont);
  25. // $cont = str_replace('—','-',$cont);
  26. // $cont = str_replace('"','“',$cont);
  27. // $cont = str_replace('•','•',$cont);
  28. $arr[$k]['art_content'] = html_entity_decode($cont);
  29. $arr[$k]['state'] = 0;
  30. $arr[$k]['type'] = 4;
  31. $arr[$k]['userid'] = 4;
  32. }
  33. }
  34. $arr = array_values($arr);
  35. // print_r($arr);die;
  36. // $arr2=array_iconv("gbk","utf-8",$arr);
  37. // print_r($arr);die;
  38. $article = M('cxpt_user_article');
  39. var_dump($article->addAll($arr));echo $article->getLastSql();die;
  40. // foreach($arr as &$v){
  41. // $b = file_get_contents($v['url']);
  42. // preg_match('/<div class=\"content\">(.*)<\/div>/s',$b,$match);
  43. // $num = strpos($match[0],'<script type="text/javascript">a("content_body");</script>');
  44. // $v['content'] = substr($match[0],0,$num);
  45. // }
  46. // foreach($arr as $v){
  47. // $info['art_title'] = $v['title'];
  48. // $info['art_content'] = $v['content'];
  49. // }
  50. // print_r($arr);die;
  51.  
  52. }

  

PHP代码-数据爬取(a标签和a标签所对应的内容)的更多相关文章

  1. 基于 PHP 的数据爬取(QueryList)

    基于PHP的数据爬取 官方网站站点 简单. 灵活.强大的PHP采集工具,让采集更简单一点. 简介: QueryList使用jQuery选择器来做采集,让你告别复杂的正则表达式:QueryList具有j ...

  2. 爬虫1.5-ajax数据爬取

    目录 爬虫-ajax数据爬取 1. ajax数据 2. selenium+chromedriver知识准备 3. selenium+chromedriver实战拉勾网爬虫代码 爬虫-ajax数据爬取 ...

  3. 小爬爬5:重点回顾&&移动端数据爬取1

    1. ()什么是selenium - 基于浏览器自动化的一个模块 ()在爬虫中为什么使用selenium及其和爬虫之间的关联 - 可以便捷的获取动态加载的数据 - 实现模拟登陆 ()列举常见的sele ...

  4. python实现人人网用户数据爬取及简单分析

    这是之前做的一个小项目.这几天刚好整理了一些相关资料,顺便就在这里做一个梳理啦~ 简单来说这个项目实现了,登录人人网并爬取用户数据.并对用户数据进行分析挖掘,终于效果例如以下:1.存储人人网用户数据( ...

  5. 芝麻HTTP:JavaScript加密逻辑分析与Python模拟执行实现数据爬取

    本节来说明一下 JavaScript 加密逻辑分析并利用 Python 模拟执行 JavaScript 实现数据爬取的过程.在这里以中国空气质量在线监测分析平台为例来进行分析,主要分析其加密逻辑及破解 ...

  6. Python爬虫 股票数据爬取

    前一篇提到了与股票数据相关的可能几种数据情况,本篇接着上篇,介绍一下多个网页的数据爬取.目标抓取平安银行(000001)从1989年~2017年的全部财务数据. 数据源分析 地址分析 http://m ...

  7. quotes 整站数据爬取存mongo

    安装完成scrapy后爬取部分信息已经不能满足躁动的心了,那么试试http://quotes.toscrape.com/整站数据爬取 第一部分 项目创建 1.进入到存储项目的文件夹,执行指令 scra ...

  8. Ajax数据爬取

    Ajax的基本原理 以菜鸟教程的代码为例: XMLHTTPRequest对象是JS对Ajax的底层实现: var xmlhttp; if (window.XMLHttpRequest) { // IE ...

  9. Python爬虫入门教程 15-100 石家庄政民互动数据爬取

    石家庄政民互动数据爬取-写在前面 今天,咱抓取一个网站,这个网站呢,涉及的内容就是 网友留言和回复,特别简单,但是网站是gov的.网址为 http://www.sjz.gov.cn/col/14900 ...

随机推荐

  1. 使用MDI 和 XtraTabbedMdiManager 后 选项卡切换后Ribbon 合并后不选中MDI子窗...

    使用MDI 和 XtraTabbedMdiManager 后 选项卡切换后Ribbon 合并后不选中MDI子我这里是 继承 XtraTabbedMdiManager  所以,是重载的  OnSelec ...

  2. ubuntu安装elasticsearch

    0x00安装jdk ElasticSearch需要安装jdk1.8以上版本的支持,所以需要先安装jdk.linux下如何安装可以查看另一篇博客 0x01 下载elasticsearch 在es官网下载 ...

  3. 关于Android布局优化的代码使用

    1.  include标签: include标签的作用是在一个布局文件中导入另一个布局文件.在开发中经常会有多个页面同时拥有一部分相同的布局,这个时候如果每个布局都把那个部分的代码写一遍就会使得代码重 ...

  4. ARE 212 - Problem Set 5

    ARE 212 - Problem Set 5Due May 1stPart I: Theory (Optional)1. Show that the parameter estimates for ...

  5. complex类

    #include<iostream> #include<cmath> using namespace std; class complex{ public: complex() ...

  6. Django之JWT理解及简单应用

    Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(S ...

  7. vue 子组件调用父组件的方法

    vue中 父子组件的通信: 子组件通过 props: { //子组件中写的. childMsg: { //字段名 type: Array,//类型 default: [0,0,0] //这样可以指定默 ...

  8. VUE项目注意点

    1.vue组件中img标签的src属性绑定数据: <img :src="img" alt="图片" /> //scriptdata() { img: ...

  9. OSPF(Open Shortest Path First)

    1.概述 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,所以所有厂商都可以用. OSPF的流量使用IP协议号. O ...

  10. selenium处理元素定位到了点击无效问题

    在WEB自动化测试过程中,经常会遇到这样的问题: 元素定位到了,但是点击无效?有人可能会问了,怎么判断元素定位到了,这个问题很好判断 1.给元素加高亮显示 self.driver.execute_sc ...