(这是网安实验室IMiss小组第一轮笔试题的第三题)
题目要求:
请编写简单的爬虫程序,爬取豆瓣电影(https://movie.douban.com/)下“正
在热映”的电影名单,以及对应的导演、编剧、主演、剧情等信息,爬取
结果以数据库方式存储。
整体思路:
PHP+MySQL,利用正则表达式匹配相关信息并存储到数据库中。
实战:
首先建表
DROP TABLE IF EXISTS `movie`;
CREATE TABLE `movie` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`moviename` varchar(60) NOT NULL,
`director` varchar(100),
`playwright` varchar(100),
`actor` varchar(200),
`type` varchar(100),
`nation` varchar(100),
`language` varchar(20),
`release` varchar(50),
`duration` int(11),
`othername` varchar(200),
`introduction` text,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
仿照e瞳网2017校运会H5小游戏的项目(https://github.com/eeyes-net/sports_meeting_h5_game-2017-04 ),PHP采用原生代码,index.php作主页,common.php内写功能,config.php设置参数,这里主要用于设置数据库连接参数。
config.php
<?php
/**
* User: Cantjie
* Date: 2017/5/29
* Time: 17:32
*/
return [
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'test_crawler',
// 用户名
'username' => 'root',
// 密码
'password' => '',
// 数据库编码默认采用utf8
'charset' => 'utf8',
];
然后开始一步步写功能。
common.php
1、首先是需要一个函数来获取config.php中的参数。(这段代码摘自上文提到的校运会项目);
/**
* get config information
* @param string $key
* @return mixed
*/
function config($key)
{
static $config = null;
if (is_null($config)) {
$config = include dirname(dirname(__FILE__)) . '/config.php';
}
return $config[$key];
}
2、然后还需要一个连接和关