一、爬虫项目

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. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  2. python通过Cookie跳过登录验证码

    1.通过浏览器获取登录cookie,找到重要的两个参数“BAIDUID”和“BDUSS”: 2.编写Selenium自动化测试脚本,跳过登录. from selenium import webdriv ...

  3. 【ES】学习2-搜索

    1.空搜索 返回所有索引下的所有文档 GET /_search 设置超时.timeout 不是停止执行查询,它仅仅是告知正在协调的节点返回到目前为止收集的结果并且关闭连接.在后台,其他的分片可能仍在执 ...

  4. python+selenium三:鼠标事件与键盘事件

    1.鼠标事件:# 每个模拟事件后需加.perform() 才会执行# context_click() 右击# double_click() 双击# drag_and_drop(source, targ ...

  5. Java 变量、循环、判断

    粗糙笔记不喜勿喷 Java 8大基本类型 第一类:逻辑型(boolean) 1.boolean类型只存在true(真),false(假)两种形式 例: boolean a=true; boolean ...

  6. review-questions

    questions: python字典中items()和iteritems()的区别 items()返回的是列表对象,而iteritems()返回的是迭代器对象 print dic.items() # ...

  7. 通过T4模板实现代码自动生成

    1:准备.tt模板 using BBFJ.OA.IBLL; using BBFJ.OA.IDAL; using BBFJ.OA.Model; using System; using System.Co ...

  8. bootstrapTable 参数说明

  9. thinkphp获取ip地址及位置信息

    ThinkPHP\Common\funcitons.php下有一个get_client_ip()能够获取ip地址 但是有时候不够准确 找到了下面一段来 function get_client_ip($ ...

  10. bzoj3687

    3687: 简单题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 700  Solved: 319[Submit][Status][Discuss] ...