前文中,介绍了如何在nginx中实现IP的定位,但是下载的数据我们可以看到是截止到某一日期的数据库,例如GeoLite2-City_20211214.tar.gz,就指明是2021年12月14日的数据库 ,maxmind官网提供了两种自动更新方法(如第三方工具更新的方法风险自负),一种是直接下载数据库,这种就不说了,因为不是官网推荐的用法,另外一种通过GeoIP Update program(照例,链接放在下方参考中 第二步,创建带有账户信息的GeoIP.conf文件。 按照上面的要求,创建一个就行 cd /usr/local/share mkdir GeoIP geoipupdate -v 再前往刚刚创建的GeoIP目录可以发现多了三个mmdb的文件 main.defaultConfigFile=/etc/GeoIP.conf \ -X main.defaultDatabaseDirectory=/usr/share/GeoIP" 接下来我们就可以试下新安装的数据库了
海王评论数据爬取前分析 海王上映了,然后口碑炸了,对咱来说,多了一个可爬可分析的电影,美哉~ [cmwinntebr.png] 摘录一个评论 零点场刚看完,温导的电影一直很不错,无论是速7,电锯惊魂还是招魂都很棒 海王案例开始爬取数据 数据爬取的依旧是猫眼的评论,这部分内容咱们用把牛刀,scrapy爬取,一般情况下,用一下requests就好了 抓取地址 http://m.maoyan.com/mmdb/comments _v_=yes&offset=15&startTime=2018-12-11%2009%3A58%3A43 关键参数 url:http://m.maoyan.com/mmdb/comments/movie /249342.json offset:15 startTime:起始时间 scrapy 爬取猫眼代码特别简单,我分开几个py文件即可。 ,数据存储到csv文件中 import os import csv class HaiwangPipeline(object): def __init__(self): store_file
一键领取预热专享618元代金券,1核1G云原生数据库TDSQL-C低至4.9元!云产品首单低0.8折起,企业用户购买域名1元起…
mmdb(也是官网现在的推荐)而不使用legacy,第一,GeoIP2数据库更强,第二,它可以将IP定位到城市,可能之前稍微使用过goaccess的用户都知道,使用legacy确实很方便,只需要安装一个 Geoip的库即可,但是它只能将IP锁定到洲、国家级别,感觉很鸡肋,但是GeoIP2数据库则完全不一样了。 前往下载,我选择的是城市数据库 ? GeoIP2城市数据库,可以看到正是我们需要的GeoLite2-City.mmdb文件,进入到报告里面,可以看到访问的IP所在城市也被解析出来了 ? 这些参数信息其实也都可以写入到goaccess的配置文件,但是我也就运行一次(因为后续都是实时更新),就懒得去修改配置文件了。
实现目标 昨天晚上看完碟中谍后,有点小激动,然后就有了这片文章。 我们将猫眼上碟中谍的全部评论保存下来,用于后期分析~ 总共评论3W条左右。 当我们将评论页面向上拖,后台请求中变看到了我们想要的接口地址:http://m.maoyan.com/mmdb/comments/movie/341737.json? self.starttime = datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.starturl = 'http://m.maoyan.com/mmdb utf-8') return e.message,'',False def SaveComent(self): ''' 保存评论到txt文件 if __name__ == '__main__': p = MaoYan('341737') p.SaveComent() 最后 评论算保存完了,近期会再做一个关于此次数据的可视化分析
[4vornxxabe.png] 实现目标 昨天晚上看完碟中谍后,有点小激动,然后就有了这片文章。 我们将猫眼上碟中谍的全部评论保存下来,用于后期分析~ 总共评论3W条左右。 chrome手机模式打开碟中谍6的页面,然后找到了全部评论入口: [glzqq4u9kz.png] 当我们将评论页面向上拖,后台请求中变看到了我们想要的接口地址:http://m.maoyan.com/mmdb self.starttime = datetime.now().strftime('%Y-%m-%d %H:%M:%S') self.starturl = 'http://m.maoyan.com/mmdb \n' print e.message return e.message,'',False def SaveComent(self): ''' 保存评论到txt文件 如果请求成功保存 if __name__ == '__main__': p = MaoYan('341737') p.SaveComent() 最后 评论算保存完了,近期会再做一个关于此次数据的可视化分析。
我们想要获取完整的数据评论接口,需要进入查看所有短评之后,往下再刷一些评论,然后点击左边的json文件,可以看到完整的url。 ? 点击几个json文件之后,大家也会发现相应的变化规律。 # 存储数据,存储到文本文件 def save_to_txt(): start_time = ‘2018-09-20 22:00:0’ end_time = ‘2018-08-23 00 数据可视化过程中,我们主要使用到的可视化工具库是pyecharts。 Pyecharts是一个用于生成Echarts图表的类库,而Echarts是百度开源的一个数据可视化JS库,主要用于数据可视化。 import Counter # 处理地名数据,解决坐标文件中找不到地名的问题 def handle(cities): # print(len(cities), len(set(cities)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_43908900/article/details/100882598 最近哪吒大火,所以我们分析一波哪吒的影评信息,分析之前我们需要数据呀 ,所以开篇我们先讲一下爬虫的数据提取;话不多说,走着。 ----------------------------------- 我们手里有接近两万的数据后开始进行数据分析阶段: 工具:jupyter、库方法:pyecharts v1.0===> pyecharts 库向下不兼容,所以我们需要使用新的方式(链式结构)实现: 我们先来分析一下哪吒的等级星图,使用pandas 实现分组求和,正对1-5星的数据: from pyecharts import options
type=hot&offset=0&limit=1 Request: type ==> hot 类型(正在热映) offset 初始数据位置 limit 显示数据最大上限值 即将上映电影列表: type=coming&offset=0&limit=1 Request: type ==> coming 类型(即将上映) offset 初始数据位置 limit 显示数据最大上限值 电影详情 movieid=342068&offset=0&limit=1 Request: movieid 电影id offset 初始数据位置(最大为1000) limit 显示数据最大上限值(最大为15 offset=0&limit=1&startTime=2017-12-01%2008:00:00 Request: 后面跟上电影id offset 初始数据位置(最大为1000) limit 显示数据最大上限值 offset=0&limit=1 Request: 后面跟上评论id offset 初始数据位置 limit 显示数据最大上限值 本地影院列表: http://m.maoyan.com/cinemas.json
_v_=yes&offset=1 其中 1235560 表示电影的 id,offset 代表页数。 02 爬虫制作 因为短评数据量可能会比较多,所以我选择用数据库来存储数据。 后面方便进行数据导出、数据去重等。 自己从 json 数据结果中提取想要的数据,然后设计数据表并创建。 ,最后一步工作就是将数据插入到数据库中。 def insert_comments(self, datalist): """ 往数据库表中插入数据 """ insert_sql = ( "insert into " 至于爬取结果,详情见下篇文章关于电影短评的数据分析。 如果你觉得文章还不错,请大家点『好看』分享下。你的肯定是我最大的鼓励和支持。
local/nginx/sbin/ # start systemctl start nginx.service # 再次查看安装情况 /usr/local/nginx/sbin/nginx -V 找到so文件 find / -name "ngx_http_geoip2_module.so" /opt/nginx-1.18.0/objs/ngx_http_geoip2_module.so 创建GeoIP.conf文件 ,但是运行geoipupdate之后,文件夹里面多了三个以mmdb结尾的文件 打开nginx的配置文件 vim /usr/local/nginx/conf/nginx.conf 在nginx的配置文件第一行 ,增加如下代码(加载so文件) load_module /opt/nginx-1.18.0/objs/ngx_http_geoip2_module.so; http段添加如下代码,这个mmdb文件填写你自己创建的文件路径 server 段添加如下代码,可以通过下方的参考链接查看各国代码 if ($geoip2_data_country_code = "AK") { return 403; } 检查nginx配置文件是否有误
获取数据 首先要获取数据,准备爬取猫眼上的电影评论作为本次分析样本,PC官网上只显示了电影的10条热门短评,显然不够,于是准备从M端抓包找到评论接口。 接口中对我们本次抓取主要有用的参数是offset偏移量以及日期,这两个条件限制了抓取的条数。 导入本次爬取需要的包,开始抓取数据。 ,每个接口有15条评论数据,10条热门评论数据,我们将评论数据中用户名、城市名、评论内容、评分、评论时间依次解析出来,并返回。 数据可视化 数据可视化采用了pyecharts,按照地理位置制作了毒液观众群的分布图。
你可以在日常生活中发现许多使用主内存DBMS(数据库管理系统)(MMDB)执行比磁盘快得多的情况。一个例子是你使用手机的时候。 当你发短信或给你的朋友打电话时,大多数移动服务提供商会使用MMDB来让你尽快获取朋友的信息。 内存数据网格(IMDG)与MMDB相同,它也将数据存储在主内存中,但它具有完全不同的架构。 它可以理解为内存键值数据库存储和检索对象的概念。 IMDG中使用的数据模型是Key-Value(键值对)。因此,可以通过使用此密钥来分发和存储数据。 缓存系统 内存数据网格(IMDG) 读 如果数据在缓存中,则不会从数据库中读取数据。 如果数据不在缓存中,则会从数据库中读取数据。
》猫眼信息 项目源码分享: import requests from fake_useragent import UserAgent import json import pymongo #保存到数据库 clien=pymongo.MongoClient(host='填写数据库IP') db=clien.The_cat_s_eye_essay coll=db.eye_essay #创建一个随机生成user-aengt _v_=yes' } #猫眼电影短评接口 #因为猫眼的数据是AJAX类型的 里面的offset是改变的 第一次是0 第二次15 第三次是30 以此类推 这个page 相当于100 /15然后循环 #可以自信观察猫眼AJAX数据请求参数 就会知道了 page=100 u=0 for i in range(page): try: offset=u startTime = '2018-10-11' comment_api = 'http://m.maoyan.com/mmdb/comments
Python 基础 数值、字符串、列表、字典、文件的使用 with 关键字使用 函数、lambda 函数、sorted 时间类型转化 时间类型转化 ? , nargs, action) shutil 文件/文件夹操作 -shutil.copy2/shutil.copytree/shutil.rmtree logging 日志记录 - logging.basicConfig (level, format, filename, filemode) - https://www.jianshu.com/p/4a801f61ecda jinja2 模板引擎,用于根据模板生成文件 - 使用步骤(3步走) -创建加载器 -获取模板 -渲染 -模板语言 -打印变量 -流程控制(条件、循环) -过滤器 -模板继承 geoip2 用于 maxmind 二进制库 mmdb 查询 -打开文件 -获取 ip 信息(国家、城市、地理位置等) -关闭文件 可视化组件 echarts 介绍 项目地址:http://echarts.baidu.com/echarts2/ 项目介绍:可视化 JS 组件
我们excel文件都保存到一个目录(我们定义该目录为数据库的根目录,事实上数据库的数据就是保存到某个数据目录下的)下,那我们就可以理解是一个简单的数据库了。 可能你会觉得,这有点儿戏吧,但是事实上,真实数据库和这个并不是有本质的区别,他们的数据都是以某种规范保存到文件系统上,所以说数据库其实并没有那么神秘。 4. 这个数据库怎么进行数据搜索? 有了索引之后,插入数据怎么办呢 数据文件更新之后,自然是需要同步更新索引文件的,数据库系统本身就是要保证这个同步的过程。 所谓列式数据库,我们我们来定义的话,可以这样理解:前面关系数据库时,每个库目录下存放数据表文件,而到了列式数据库,我们的表这层也定义成目录,而每列的数据单独保存成文件,这样如果对该列进行分析时,那基本只需要加载对应的列文件即可 所有数据库,无论是数据还是索引,最终都是以文件的形式保存到文件系统中,只是其数据库系统本身保证了保存时的某种规范。
关于数据库中的文件迁移,需要考虑普通数据文件,redo日志文件(还需要考虑是否为current状态),undo表空间,临时表空间,system,sysaux表空间。 文件迁移可以参考下面的伪代码: move_non_system_tablespace ,需要在open状态 { alter rename file '/oravl03/oradata/TESTDB/redo_g1_m2.dbf' to '/oravl01/oracle/redo_g1_m2.dbf'; 最后带给大家一些福利,关于文件的迁移
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载。 如果你需要一个简单的磁盘文件索引数据库,这篇文章可以帮助你。 文件数据库描述: 每个文档对象保存为一个独立文件,例如一篇博客。 文件内容序列化支持XML或JSON。 支持基本的CRUD操作。 文件数据库抽象类实现 1 /// 2 /// 文件数据库,这是一个抽象类。 public abstract class FileDatabase 5 { 6 #region Fields 7 8 /// 9 /// 文件数据库操作锁 <TDocument>(string data); 315 316 #endregion 317 } XML文件数据库实现 1 /// 2 /// XML文件数据库
如果你需要一个简单的磁盘文件索引数据库,这篇文章可以帮助你。 文件数据库描述: 每个文档对象保存为一个独立文件,例如一篇博客。 文件内容序列化支持XML或JSON。 支持基本的CRUD操作。 文件数据库抽象类实现 1 /// 2 /// 文件数据库,这是一个抽象类。 23 /// 24 /// <param name="directory">数据库文件所在目录</param> 25 protected FileDatabase <TDocument>(string data); 315 316 #endregion 317 } XML文件数据库实现 1 /// 2 /// XML文件数据库 8 /// 9 /// <param name="directory">数据库文件所在目录</param> 10 public XmlDatabase
ENA数据库:European Nucleotide Archive:隶属EBI (European Bioinformatics Institute),由 EBI 负责维护,优点是可以下载fastq文件 image.png 找到所有要下载的文件格式和需要的信息,打钩 ? ? 可以下载含有文件下载链接的TSV文件,文件不多的话也可以直接下载。 包含下载链接的TSV文件如下 ? 选择fastq那一列的文件格式单独放进一个download.txt ? image.png download.txt如下 ?
云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。 腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。
扫码关注云+社区
领取腾讯云代金券