PHP代码-数据爬取(a标签和a标签所对应的内容)
public function export(){
set_time_limit(1000);
// header("Content-type: text/html; charset=utf-8");
$a = file_get_contents('http://chuangye.yjbys.com/zhengce/');
$reg = '/<\/span><a href="(.*)" (.*)>(.*)</isU';
$result = preg_match_all($reg,$a,$match_result);
$arr = array();
foreach($match_result[1] as $k=>$v){
$tnum = strlen($match_result[3][$k]);
if(substr($v,0,1) == 'h' && $tnum>21){
$arr[$k]['art_url'] = $v;
$arr[$k]['art_title'] = mb_convert_encoding($match_result[3][$k], "UTF-8",'gbk');
// $match_result[3][$k];
mb_convert_encoding($match_result[3][$k], "UTF-8",'gbk');
$b = file_get_contents($v);
preg_match('/<div class=\"content\">(.*)<\/div>/s',$b,$match);
$match[0] = iconv("gbk", "utf-8", $match[0]);
$num = strpos($match[0],'<script type="text/javascript">a("content_body");</script>');
$cont = substr($match[0],0,$num)."</div>";
$cony = str_replace('<div class="ad_top_left"><script type="text/javascript">a("content_1");</script></div>',"",$cont);
$cont = str_replace('<div class="ad_top_left2"><script type="text/javascript">a("content_2");</script></div>',"",$cony);
// $cont = str_replace('“','“',$cont);
// $cont = str_replace('”','”',$cont);
// $cont = str_replace('…','~',$cont);
// $cont = str_replace('—','-',$cont);
// $cont = str_replace('"','“',$cont);
// $cont = str_replace('•','•',$cont);
$arr[$k]['art_content'] = html_entity_decode($cont);
$arr[$k]['state'] = 0;
$arr[$k]['type'] = 4;
$arr[$k]['userid'] = 4;
}
}
$arr = array_values($arr);
// print_r($arr);die;
// $arr2=array_iconv("gbk","utf-8",$arr);
// print_r($arr);die;
$article = M('cxpt_user_article');
var_dump($article->addAll($arr));echo $article->getLastSql();die;
// foreach($arr as &$v){
// $b = file_get_contents($v['url']);
// preg_match('/<div class=\"content\">(.*)<\/div>/s',$b,$match);
// $num = strpos($match[0],'<script type="text/javascript">a("content_body");</script>');
// $v['content'] = substr($match[0],0,$num);
// }
// foreach($arr as $v){
// $info['art_title'] = $v['title'];
// $info['art_content'] = $v['content'];
// }
// print_r($arr);die;
}
PHP代码-数据爬取(a标签和a标签所对应的内容)的更多相关文章
- 基于 PHP 的数据爬取(QueryList)
基于PHP的数据爬取 官方网站站点 简单. 灵活.强大的PHP采集工具,让采集更简单一点. 简介: QueryList使用jQuery选择器来做采集,让你告别复杂的正则表达式:QueryList具有j ...
- 爬虫1.5-ajax数据爬取
目录 爬虫-ajax数据爬取 1. ajax数据 2. selenium+chromedriver知识准备 3. selenium+chromedriver实战拉勾网爬虫代码 爬虫-ajax数据爬取 ...
- 小爬爬5:重点回顾&&移动端数据爬取1
1. ()什么是selenium - 基于浏览器自动化的一个模块 ()在爬虫中为什么使用selenium及其和爬虫之间的关联 - 可以便捷的获取动态加载的数据 - 实现模拟登陆 ()列举常见的sele ...
- python实现人人网用户数据爬取及简单分析
这是之前做的一个小项目.这几天刚好整理了一些相关资料,顺便就在这里做一个梳理啦~ 简单来说这个项目实现了,登录人人网并爬取用户数据.并对用户数据进行分析挖掘,终于效果例如以下:1.存储人人网用户数据( ...
- 芝麻HTTP:JavaScript加密逻辑分析与Python模拟执行实现数据爬取
本节来说明一下 JavaScript 加密逻辑分析并利用 Python 模拟执行 JavaScript 实现数据爬取的过程.在这里以中国空气质量在线监测分析平台为例来进行分析,主要分析其加密逻辑及破解 ...
- Python爬虫 股票数据爬取
前一篇提到了与股票数据相关的可能几种数据情况,本篇接着上篇,介绍一下多个网页的数据爬取.目标抓取平安银行(000001)从1989年~2017年的全部财务数据. 数据源分析 地址分析 http://m ...
- quotes 整站数据爬取存mongo
安装完成scrapy后爬取部分信息已经不能满足躁动的心了,那么试试http://quotes.toscrape.com/整站数据爬取 第一部分 项目创建 1.进入到存储项目的文件夹,执行指令 scra ...
- Ajax数据爬取
Ajax的基本原理 以菜鸟教程的代码为例: XMLHTTPRequest对象是JS对Ajax的底层实现: var xmlhttp; if (window.XMLHttpRequest) { // IE ...
- Python爬虫入门教程 15-100 石家庄政民互动数据爬取
石家庄政民互动数据爬取-写在前面 今天,咱抓取一个网站,这个网站呢,涉及的内容就是 网友留言和回复,特别简单,但是网站是gov的.网址为 http://www.sjz.gov.cn/col/14900 ...
随机推荐
- swust oj 971
统计利用先序遍历创建的二叉树的深度 10000(ms) 10000(kb) 3331 / 8436 利用先序递归遍历算法创建二叉树并计算该二叉树的深度.先序递归遍历建立二叉树的方法为:按照先序递归遍历 ...
- JMter随记
线程组( Threads (Users))理解:一个虚拟用户组,线程组内线程数量在运行过程中不会发生改变. 注意事项:线程间变量相互独立. 一个测试计划内可以包含多个线程组. 可定义内容: 取样器错误 ...
- jquery弹窗插件layer:layer.layui.com
这两天在做抽奖转盘功能,浏览器自带的alert弹出框太low,本人又基本不会前端, 于是借鉴前人用fancybox插件做的效果 结果没看懂其写法(http://www.0101shop.com/goo ...
- 使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法一 修改Dubbo源代码
一. 拉取源码 到Dubbo官网 https://github.com/apache/incubator-dubbo/tree/2.5.x 下载源码,解压. 二. 导入IDEA 选择解压后的源码目录, ...
- 华大单片机开发板HC32F030上手入门
HC32F030开发板(如下图所示)分为板载调试模块(左半部分)和MCU开发电路(右半部分).二者中间通过邮票孔相连,如果将板子从中间掰开,板载调试模块就可以当一个CMSIS-DAP的仿真器来使用.此 ...
- A计划 HDU - 2102
A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Centos7双网卡绑定配置 bonding
bonding的七种工作模式: bonding技术提供了七种工作模式,在使用的时候需要指定,每种有各自的优缺点,我们使用的是 mode=4 balance-rr (mode=0) 默认, 有高可用 ( ...
- Python中的短路计算
在Python中,布尔类型还可以与其他数据类型做 and.or和not运算,请看下面的代码: In [1]: a = True In [2]: print(a and 'a=T' or 'a=F') ...
- ionic3 slides轮播图手动滑动后无法自动播放问题
我们都知道Ionic3为我们提供了一套丰富易用的UI组件库,然而凡事是都有不完美之处,今天我们来看一下ionic3 slides组件在实现轮播功能时候的小问题. 先开UI小姐姐给到的3张美美哒效果图 ...
- js之history
浏览历史记录window.history,不会刷新页面内容,只会更改历史记录,用location.href 才会刷新 1. history.pushState() & history.repl ...