Go语言之高级篇Beego框架之爬虫项目实战

一、爬虫项目

1、爬虫基础

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

Go语言之高级篇Beego框架之爬虫项目实战

b、去重处理

布隆过滤器
哈希存储

c、标签匹配:

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

d、动态内容

phantomjs

selenium

二、爬豆瓣网电影

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

准备工作:

1、在数据库中创建表

movie.sql

;gutter:false;
CREATE TABLE
movie_info(idint(10) unsigned NOT NULL AUTO_INCREMENT,movie_idint(11) unsigned NOT NULL COMMENT '电影id',movie_namevarchar(100) COMMENT '电影名称',movie_picvarchar(200) COMMENT '电影图片',movie_directorvarchar(50) COMMENT '电影导演',movie_writervarchar(50) COMMENT '电影编剧',movie_countryvarchar(50) COMMENT '电影产地',movie_languagevarchar(50) COMMENT '电影语言',movie_main_charactervarchar(50) COMMENT '电影主演',movie_typevarchar(50) COMMENT '电影类型',movie_on_timetimestamp DEFAULT '0000-00-00 00:00:00' COMMENT '电影上映时间',movie_spanvarchar(20) COMMENT '电影时长',movie_gradevarchar(5) COMMENT '电影评分',remarkvarchar(500) DEFAULT '' COMMENT '备注',_create_timetimestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',_modify_timetimestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',_statustinyint(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='电影信息表';</p> <pre><code> 2、创建一个新项目 ;gutter:false;
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!

Original: https://www.cnblogs.com/nulige/p/10386915.html
Author: 努力哥
Title: Go语言之高级篇Beego框架之爬虫项目实战

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/535790/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • B树-查找

    B树系列文章 1. B树-介绍 2. B树-查找 3. B树-插入 4. B树-删除 查找 假设有一棵3阶B树,如下图所示。 下面说明在该B树中查找 52的过程 首先,从根结点出发…

    Go语言 2023年5月25日
    064
  • Go语言实现文本文件拷贝

    文本文件的读写是程序的常见操作。 这个程序的功能实现文件的拷贝操作,包括了文件的打开、关闭和读写。该程序是按行读入数据文件的内容,然后将其写入到另外一个文件中。 Go语言程序: /…

    Go语言 2023年5月29日
    055
  • EbitenCookBook中文教程 第一课:安装 Ebiten

    本文实时更新原址:https://ebitencookbook.vercel.app/docs/CookBook_Start/class1 第一课 安装 Ebiten 欢迎大家来到…

    Go语言 2023年5月25日
    061
  • Go编译过程

    一、 Go编译流程 二、过程说明 词法解析 读取Go源文件,将字符序列转换为符号(token)序列,比如将”:=”转换为_Define 代码中的标识符、关键…

    Go语言 2023年5月25日
    062
  • Go – 如何编写 ProtoBuf 插件(二)?

    上篇文章《Go – 如何编写 ProtoBuf 插件 (一) 》,分享了使用 proto3 的 &#x81EA;&#x5B9A;&#x4E49;…

    Go语言 2023年5月25日
    057
  • 微服务追踪SQL(支持Isto管控下的gorm查询追踪)

    效果图 SQL的追踪正确插入到微服务的调用链之间 详细记录了SQL的执行内容和消耗时间 搜索SQL的类型 多线程(goroutine)下的追踪效果 在 Kubernetes 中部署…

    Go语言 2023年5月25日
    066
  • go 自定义http.Client – 动态修改请求Body

    在对接Alexa Smart Home时,有的请求Payload中需要传入Access Token,但是这个Token是由OAuth2 Client管理的,封装Payload时并不…

    Go语言 2023年5月25日
    056
  • golang 中 sync.Mutex 的实现

    mutex 主要有两个 method: Lock() 和 Unlock() Lock() 可以通过一个 CAS 操作来实现 func (m *Mutex) Lock() { for…

    Go语言 2023年5月25日
    070
  • Golang实现set

    Golang语言本身未实现set,但是实现了map golang的map是一种无序的键值对的集合,其中键是唯一的 而set是键的不重复的集合,因此可以用map来实现set 由于ma…

    Go语言 2023年5月25日
    058
  • 【Go语言】(一)环境搭建与了解VScode工具

    视频链接(p1~p8): golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!] 参考链接: 用vscode开发go的时候,安装go包报错:connectex…

    Go语言 2023年5月25日
    072
  • Go微服务框架go-kratos学习05:分布式链路追踪 OpenTelemetry 使用

    一、分布式链路追踪发展简介 1.1 分布式链路追踪介绍 关于分布式链路追踪的介绍,可以查看我前面的文章 微服务架构学习与思考(09):分布式链路追踪系统-dapper论文学习(ht…

    Go语言 2023年5月25日
    049
  • sqlx操作MySQL实战及其ORM原理

    sqlx是Golang中的一个知名三方库,其为Go标准库database/sql提供了一组扩展支持。使用它可以方便的在数据行与Golang的结构体、映射和切片之间进行转换,从这个角…

    Go语言 2023年5月25日
    068
  • 在开发中将git运用自如

    写这篇文章的初衷是记录自己在开发中使用git遇到的问题和如何利用git进行高效的开发。个人理解来看,很多人对git运用不自如主要是两方面的原因:1、死记硬背命令,这个其实可以通过h…

    Go语言 2023年5月25日
    050
  • Go语言之接口

    接口就是一系列方法的集合(规范行为) 在面向对象的领域里,接口一般这样定义:接口定义一个对象的行为,规范子类对象的行为。 在 Go 语言中的接口是非侵入式接口(接口没了,不影响代码…

    Go语言 2023年5月25日
    060
  • 在浏览器上开发GO和Vue!(基于code-server)

    在浏览器上开发GO和Vue!(基于code-server) 曾几何时,开发者们都被安装编程环境苦恼,尽管现在很多语言的开发环境已经不难装了,但是如果我们能有一个运行在云端的编译器,…

    Go语言 2023年5月25日
    071
  • Sentinel-Go 源码系列(一)|开篇

    大家好呀,打算写一个 Go 语言组件源码分析系列,一是为了能学习下 Go 语言,看下别人是怎么写 Go 的,二是也掌握一个组件。 本次选择了 Sentinel-Go,一是对 Jav…

    Go语言 2023年5月25日
    067
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球