简单的PHP爬虫,获取豆瓣正在热映电影列表

本文介绍了一个简单的PHP爬虫程序,用于抓取豆瓣电影正在热映的电影信息,并存储到MySQL数据库中。文章讨论了整体思路,通过分析网页结构,利用正则表达式匹配数据,并在实施过程中遇到的问题,如403错误、301重定向、网页不可见字符处理等。最后,列出了待解决的问题,包括数据库连接管理、效率优化、多进程和代理IP的使用等。
摘要由CSDN通过智能技术生成

(这是网安实验室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、然后还需要一个连接和关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值