一、爬虫项目

1、爬虫基础

a、网页上面会有相同的数据

b、去重处理

布隆过滤器
哈希存储

c、标签匹配:

正则表达式
beautiful soup或lxml这种标签提取库

d、动态内容

phantomjs

selenium

二、爬豆瓣网电影

网站地址:https://www.douban.com/

准备工作:

1、在数据库中创建表

movie.sql

CREATE TABLE `movie_info` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`movie_id` int(11) unsigned NOT NULL COMMENT '电影id',
`movie_name` varchar(100) COMMENT '电影名称',
`movie_pic` varchar(200) COMMENT '电影图片',
`movie_director` varchar(50) COMMENT '电影导演',
`movie_writer` varchar(50) COMMENT '电影编剧',
`movie_country` varchar(50) COMMENT '电影产地',
`movie_language` varchar(50) COMMENT '电影语言',
`movie_main_character` varchar(50) COMMENT '电影主演',
`movie_type` varchar(50) COMMENT '电影类型',
`movie_on_time` timestamp DEFAULT '0000-00-00 00:00:00' COMMENT '电影上映时间',
`movie_span` varchar(20) COMMENT '电影时长',
`movie_grade` varchar(5) COMMENT '电影评分',
`remark` varchar(500) DEFAULT '' COMMENT '备注',
`_create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
`_modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`_status` tinyint(1) DEFAULT '1',
PRIMARY KEY (`id`),
KEY `idx_movie_id` (`movie_id`),
KEY `idx_create_time` (`_create_time`),
KEY `idx_modify_time` (`_modify_time`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COMMENT='电影信息表';

2、创建一个新项目

D:\GoFiles\src\web>bee new crawl_movice
______
| ___ \
| |_/ / ___ ___
| ___ \ / _ \ / _ \
| |_/ /| __/| __/
\____/ \___| \___| v1.10.0
2019/02/16 10:49:19 INFO ▶ 0001 Creating application...
create D:\GoFiles\src\web\crawl_movice\
create D:\GoFiles\src\web\crawl_movice\conf\
create D:\GoFiles\src\web\crawl_movice\controllers\
create D:\GoFiles\src\web\crawl_movice\models\
create D:\GoFiles\src\web\crawl_movice\routers\
create D:\GoFiles\src\web\crawl_movice\tests\
create D:\GoFiles\src\web\crawl_movice\static\
create D:\GoFiles\src\web\crawl_movice\static\js\
create D:\GoFiles\src\web\crawl_movice\static\css\
create D:\GoFiles\src\web\crawl_movice\static\img\
create D:\GoFiles\src\web\crawl_movice\views\
create D:\GoFiles\src\web\crawl_movice\conf\app.conf
create D:\GoFiles\src\web\crawl_movice\controllers\default.go
create D:\GoFiles\src\web\crawl_movice\views\index.tpl
create D:\GoFiles\src\web\crawl_movice\routers\router.go
create D:\GoFiles\src\web\crawl_movice\tests\default_test.go
create D:\GoFiles\src\web\crawl_movice\main.go
2019/02/16 10:49:20 SUCCESS ▶ 0002 New application successfully created!

Go语言之高级篇Beego框架之爬虫项目实战的更多相关文章

  1. Go语言之高级篇beego框架安装与使用

    一.beego框架 1.beego框架简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计 ...

  2. Go语言之高级篇beego框架之layui框架应用

    1.layui前端框架 参考地址:https://www.layui.com

  3. Go语言之高级篇beego框架之配置beego环境

    1.配置beego环境 进入部署目录中 软件部署目录: 把要部署的软件代码,放在src目录下面. 启动项目

  4. Go语言之高级篇beego框架之config、httplib、context

    一.httplib 1.配置文件解析 这是一个用来解析文件的库,它的设计思路来自于 database/sql,目前支持解析的文件格式有 ini.json.xml.yaml,可以通过如下方式进行安装: ...

  5. Go语言之高级篇beego框架之view

    1.基本语法 go统一使用了{{ 和 }}作为左右标签,没有其它的标签符号. 如果你想要修改为其它符号,可以修改配置文件. 使用.来访问当前位置的上下文 使用$来引用当前模板根级的上下文 2.使用方法 ...

  6. Go语言之高级篇beego框架之controller调用model

    一.controller调用model 开发规范,就该把对数据库的操作写在model文件夹中. 示例: views/main.go package main import ( _ "web/ ...

  7. Go语言之高级篇beego框架之model设计构造查询

    一.model设计构造查询 QueryBuilder 提供了一个简便,流畅的 SQL 查询构造器.在不影响代码可读性的前提下用来快速的建立 SQL 语句. QueryBuilder 在功能上与 ORM ...

  8. Go语言之高级篇beego框架之模型(Models)

    一.模型(Models) 1.beego-orm的相关特性 支持 Go 的所有类型存储 -轻松上手,采用简单的 CRUD 风格 -自动 Join 关联表 跨数据库兼容查询 允许直接使用 SQL 查询/ ...

  9. Go语言之高级篇beego框架之cookie与session

    1.cookie的用法 this.Ctx.SetCookie("name", name, maxage, "/") this.Ctx.SetCookie(&qu ...

随机推荐

  1. OCM_第十九天课程:Section9 —》Data Guard _ DATA GUARD 原理/DATA GUARD 应用/DATA GUARD 搭建

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  2. SeaJS入门教程系列之完整示例(三)

    一个完整的例子上文说了那么多,知识点比较分散,所以最后我打算用一个完整的SeaJS例子把这些知识点串起来,方便朋友们归纳回顾.这个例子包含如下文件: 1.index.html——主页面.2.sea.j ...

  3. DDD模型领域WF到领域层(十五)

    实现超市的结算系统: 计算相应的优惠方式的接口 public interface ICompute { double GetResultTotalMoney(double TotalMoney); } ...

  4. WebApi的调用-2.后台调用

    httpClient调用方式 namespace SOA.Common { //httpClient调用WebApi public class HttpClientHelper { public st ...

  5. asp.net core 微信APP支付(扫码支付,H5支付,公众号支付,app支付)之4

    微信app支付需要以下参数,类封装如下 public class WxPayModel { /// <summary> /// 应用ID /// </summary> publ ...

  6. 微信WebView关闭后本地cookie无法清除问题

    问题背景 在微信WebView下的页面中登录后,关闭WebView返回后再次进入页面,发现登录态还存在,原因是微信不会主动清除cookie以及其他的缓存. 期望是关闭窗口后会清除cookie,重新进入 ...

  7. C#编程的语法积累(一)

    1.自动属性 之前的实现方式: private int id; public int Id { set {id = value;} get {return id;} } 现在可通过自动属性实现: pu ...

  8. Codeforces 643C Levels and Regions 斜率优化dp

    Levels and Regions 把dp方程列出来, 把所有东西拆成前缀的形式, 就能看出可以斜率优化啦. #include<bits/stdc++.h> #define LL lon ...

  9. BZOJ1821 [JSOI2010]Group 部落划分 Group Kruskal

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1821 题意概括 平面上有n个点,现在把他们划分成k个部分,求不同部分之间最近距离的最大值. 两个部 ...

  10. Unity报错 : BCE0004: Ambiguous reference 'preview': CameraMotionBlurEditor.preview, UnityEditor.Editor.preview.

    建立项目版本为Unity4.6,改为5.3.4版本,运行项目报如下错误: “BCE0004: Ambiguous reference 'preview': CameraMotionBlurEditor ...