php 豆瓣抓取,PHP抓取豆瓣读书爬虫代码
//演示地址 http://asizu.sinaapp.com/reptile_douban.php
//数据量不是特别大,没有写抓完数据便停止。 喜欢的朋友拿去自己改改就好了header("Content-Type:text/html;charset=utf-8");define("MYSQL_HOST",SAE_MYSQL_HOST_M);define("MYSQL_NAME","douban");define("MYSQL_USER",SAE_MYSQL_USER);define("MYSQL_PASSWORD",SAE_MYSQL_PASS);define("MYSQL_PORT",SAE_MYSQL_PORT);$action = $_GET[‘url‘];if(!empty($action))
{$data = getLink($action);$data = str_substr(‘
{$bookArray[$key][‘title‘] = str_substr(‘class="title" target="_blank">‘,‘‘,$item);$bookArray[$key][‘rating‘] = str_substr(‘‘,‘‘,$item);$bookArray[$key][‘book_id‘] = str_substr(‘/subject/‘,‘/?from‘,$item);if(!selectBookSaveed($bookArray[$key][‘title‘]))
{
insertMysql($bookArray[$key]);
}//$dataArray[$key] = htmlspecialchars($item);
}$page = explode(‘book?start=‘,$action);$new_url = $page[0] ."book?start=". ($page[1] + 15);//var_dump($page);
// var_dump($bookArray);
}//获取连接
function getLink($url)
{$data = getData($url);return $data;
}//抓取数据的函数
function getData($url)
{//初始化
$ch =curl_init();//设置选项,包括URL
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_USERAGENT,‘Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11‘);//执行并获取HTML文档内容
$output = curl_exec($ch);//释放curl句柄
curl_close($ch);//返回数据
return $output;
}//保存入库
function insertMysql($dataArray)
{$field = "";$value = "";foreach($dataArray as $key => $item)
{$field .= ",".$key;$value .= ",‘".$item."‘";
}$field = substr($field,1,strlen($field)-1);$value = substr($value,1,strlen($value)-1);$sql = "INSERT INTO douban (".$field.") VALUES(".$value.")";//var_dump($sql);
// exit;
$result = mysqlOperation($sql);return $result;
}//查询是否已经录入
function selectBookSaveed($title)
{$sql = "SELECT * FROM douban WHERE title = ‘".$title."‘";$result = mysqlOperation($sql,"select");if(empty($result))
{return false;//未存在
}return true;
}//数据库操作方法
function mysqlOperation($sql,$method = "query")
{$mysqli = newmysqli(
SAE_MYSQL_HOST_M,SAE_MYSQL_USER,SAE_MYSQL_PASS,SAE_MYSQL_DB,SAE_MYSQL_PORT
);if( mysqli_connect_errno() )echo ‘error‘;//return false;
if($method == "select")return mysqli_fetch_assoc($mysqli->query($sql));if($method == "query")return $mysqli->query($sql);
}//字符串截取函数
function str_substr($start, $end, $str)
{$temp = explode($start, $str, 2);$content = explode($end, $temp[1], 2);return $content[0];
}?>
$("#froms").submit();
}
});
php 豆瓣抓取,PHP抓取豆瓣读书爬虫代码相关推荐
- 基于Hadoop的豆瓣电影的数据抓取、数据清洗、大数据分析(hdfs、flume、hive、mysql等)、大屏可视化
目录 项目介绍 研究背景 国内外研究现状分析 研究目的 研究意义 研究总体设计 数据获取 网络爬虫介绍 豆瓣电影数据的采集 数据预处理 数据导入及环境配置 Flume介绍 Hive介绍 MySQL介绍 ...
- python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...
def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...
- python爬取二级页面_爬虫代码改进(二)|多页抓取与二级页面
本文是下面两篇文章的续篇 本系列包括如下内容抓取豆瓣top250一页多个字段 整合成列表 存储为json文件 定义成函数形式 多页抓取之构造url 多页抓取之翻页 抓取二级页面数据 通过生成器优化代码 ...
- Python豆瓣电影评论的爬取及词云显示
Python豆瓣电影评论的爬取及词云显示 课程设计论文链接 前言 开发工具.核心库 系统相关技术介绍 系统分析与设计 系统功能模块组成 实现功能和目标 爬取模块设计 爬取过程中下一页的处理 窗口界面设 ...
- python怎么爬取电影海报_豆瓣top250海报原图爬取
源码见 功能分析 网上爬取豆瓣电影排行很多,但是由于做一个h5画廊需求大量电影素材,而列表与详情页的图片清晰度满足不了要求,所以决定爬取豆瓣原图,在查看是发现需要登陆,然而登陆后原图链接查看并没有任何 ...
- 爬虫抓取页面数据原理(php爬虫框架有很多 )
爬虫抓取页面数据原理(php爬虫框架有很多 ) 一.总结 1.php爬虫框架有很多,包括很多傻瓜式的软件 2.照以前写过java爬虫的例子来看,真的非常简单,就是一个获取网页数据的类或者方法(这里的话 ...
- qt爬取网页信息_豆瓣TOP250数据爬取
一.问题描述 用python爬取网页数据是现在流行的一种快速获取数据的方法,简单快捷.最近小编通过教程学习完成了豆瓣TOP250数据的爬取.下面就简单介绍一下如何用python程序实现豆瓣网页信息的爬 ...
- 测试开发Python培训:抓取新浪微博抓取数据-技术篇
测试开发Python培训:抓取新浪微博抓取数据-技术篇 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的sele ...
- python简单爬虫代码-python爬虫超简单攻略,带你写入门级的爬虫,抓取上万条信息...
原标题:python爬虫超简单攻略,带你写入门级的爬虫,抓取上万条信息 最近经常有人问我,明明看着教程写个爬虫很简单,但是自己上手的时候就麻爪了...那么今天就给刚开始学习爬虫的同学,分享一下怎么一步 ...
- 机器人识别抓取笔记(基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计:综述)
Real-Time Deep Learning Approach to Visual Servo Control and Grasp Detection for Autonomous Robotic ...
最新文章
- python有道翻译-Python版有道翻译
- java 登录踢出_spring security 4 如何踢出用户?
- Andorid应用去google广告
- boost::python模块实现使用内置 python 数据类型创建 ndarrays 的示例,并提取成员变量的类型和值测试程序
- IdentityServer4 接口说明
- c3p0依赖导入失败问题(在使用到c3p0中的ComboPooledDataSource类的时候报错,依赖爆红)
- 不用“背”单词,1个方法牢记7000单词:我是如何做到的?
- 数组----数组的拷贝、排序、遍历、引用,console交互
- android调用日历库,Android学习教程之日历库使用(15)
- CCF201503-5 最小花费(100分解题链接)
- 苹果Ma视频剪辑软件:DaVinci Resolve Studio (达芬奇调色)
- 版本管理-SVN本地版本管理
- 如何获取淘宝APP原数据现场教学
- 解决vue页面四周有白边的问题
- 请问现在好多抖音巨量广告落地页pages.tmall.com的页面如何生成
- Java线程状态转化
- 【Jmeter-脚本录制】
- 呦呦鹿鸣,食野之蒿。【诗经早就预言了屠呦呦的重大发现
- Spring Boot多模块包扫描问题
- Python 之网络编程之socket(3)hashlib模块