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 ...
随机推荐
- 汇编入门——使用DOSBox写一个HelloWorld以及相关软件安装
0.0.0) 在D盘建立一个ASM文件夹 0.0.1) 放入所需要的文件 1所标示的红色框为必须要存在的文件,要处理汇编文件.百度网盘中下载. 2自己编写的汇编(asm)文件. 3编译汇编自己生成的文 ...
- shell 爬取图片下载到本地
#!/bin/bash #ddmm // #if [ -z $string ] 如果string 为空 #-z STRING the length of STRING is zero read -p ...
- python中关于汉诺塔问题和使用turtle库实现其搬运过程
一.汉诺塔问题 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按 ...
- Mock Server 实现post方法的接口(三)
Mock Server 实现post方法的接口(三) 1.mock server实现的接口,当request中未设置"method"时,会自动将所有method试一次,所以一定要指 ...
- json和pickle模块
import pickleimport json data = {'k1': 123, 'k2': 'Hello'}print(type(data))# p_str = pickle.dumps(da ...
- 获取本机IP地址的方法
public class Test { public static void main(String[] strings) { try { InetAddress candidateAddress = ...
- centos 7 挂载U盘
参考网址:https://blog.csdn.net/fengjunwang1980/article/details/78062838 1.首先使用fdisk -l命令查看磁盘情况 如果不知道哪一个是 ...
- VUE-011-通过 v-if 和 v-for 实现特定值的列表循环匹配,并显示满足匹配条件的值
前端页面开发过程中,经常遇到服务端返回的数据中,存在一些需要转义的表单项.比如,员工信息中的学历,假设研究生学历的代码是101(或10001),则数据库中对应字段存放的是 101(或10001),而非 ...
- numpy(二)
通用函数: np.add 加 np.subtract 减 np.multiply 乘 np.divide 除 np.floor_divide 地板乘除法,取商 np.power 指数运算 ...
- Redis 开发规范
本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题. 一.键值设计 1.key名设计 ...