自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 DataWhale之数据分析练习5:作者信息关联

任务说明学习主题:作者关联(数据建模任务),对论文作者关系进行建模,统计最常出现的作者关系;学习内容:构建作者关系图,挖掘作者关系学习成果:论文作者知识图谱、图关系挖掘数据处理步骤将作者列表进行处理,并完成统计。具体步骤如下:将论文第一作者与其他作者(论文非第一作者)构建图;使用图算法统计图中作者与其他作者的联系;社交网络分析图是复杂网络研究中的一个重要概念。Graph是用点和线来刻画离散事物集合中的每对事物间以某种方式相联系的数学模型。Graph在现实世界中随处可见,如交通

2021-01-25 13:10:10 256

原创 DataWhale之数据分析练习4:论文种类分类

1 任务说明学习主题:论文分类(数据建模任务),利用已有数据建模,对新论文进行类别分类;学习内容:使用论文标题完成类别分类;学习成果:学会文本分类的基本方法、TF-IDF等;2 数据处理步骤在原始arxiv论文中论文都有对应的类别,而论文类别是作者填写的。在本次任务中我们可以借助论文的标题和摘要完成:对论文标题和摘要进行处理;对论文类别进行处理;构建文本分类模型;3 文本分类思路思路1:TF-IDF+机器学习分类器直接使用TF-IDF对文本提取特征,使用分类器进行分类,分类器

2021-01-21 13:04:35 280

原创 DataWhale之数据分析练习3:论文代码统计

环境和依赖包导入import re # 用于正则表达式,匹配字符串的模式import json # 读取数据,我们的数据为json格式的import pandas as pd # 数据处理,数据分析import matplotlib.pyplot as plt # 画图工具读取数据源,读取100w行数据,全部读取运行时间较长data = [] # 初始化#使用with语句优势:1.自动关闭文件句柄;2.自动显示(处理)文件读取数据异常with open("arxiv-metada

2021-01-18 19:03:09 249

原创 DataWhale之数据分析练习2:论文作者统计

任务说明任务主题:论文作者统计,统计所有论文作者出现评率Top10的姓名;任务内容:论文作者的统计、使用 Pandas 读取数据并使用字符串操作;任务成果:学习 Pandas 的字符串操作;读取原始数据处理data = []with open("arxiv-metadata-oai-snapshot.json", 'r') as f: for index, line in enumerate(f): # 通过迭代器的方式读取大文件,可以通过判断索引index的大小控制读取的数据

2021-01-15 10:38:10 178 1

原创 DataWhale之数据分析练习操作

一.获取测试数据源获取arxiv数据源二.读取数据源并进行处理导入相应的模块import requestsfrom bs4 import BeautifulSoup import re import json import pandas as pd 数据读取data = [] # 初始化#使用with语句优势:1.自动关闭文件句柄;2.自动显示(处理)文件读取数据异常#由于数据源文件较大,建议处理的时候通过枚举的方式,通过控制索引 控制读取数据的数量with open("ar

2021-01-13 12:32:17 472

原创 hive优化

一.表链接优化:将大表放后头Hive假定查询中最后的一个表是大表。它会将其它表缓存起来,然后扫描最后那个表。因此通常需要将小表放前面,或者标记哪张表是大表:/streamtable(table_name)使用相同的连接键当对3个或者更多个表进行join连接时,如果每个on子句都使用相同的连接键的话,那么只会产生一个MapReduce job。尽量尽早地过滤数据减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段。尽量原子化操作尽量避免一个SQL包含复杂逻辑,可以使用中间表来完成复杂

2021-01-08 11:57:12 166

原创 kafka学习笔记(三)---消费者

消费者介绍消费者(Consumer)负责订阅Kafka中的主题(Topic),并且从主题上拉取消息。Kafka中还存在消费者组(ConsumerGroup)的概念。每一个消费者都有一个对应的消费者组。当消息发布到主题后,会被投递给订阅它的消费者组中的一个消费者。Kafka支持两种消息投递模式:点对点(P2P,Point-to-Point)模式和发布订阅(Pub/Sub)模式.1.点对点模式基于队列,消息生产者发送消息到队列,消费者从队列中接受消息。所有消费者都位于同一个消费者组中,每条消息只会被

2020-11-26 17:01:56 194

原创 kafka学习笔记(二)------生产者介绍

生产者发送消息的过程kafka会将发送消息包装成为ProducerRecord 对象, ProducerRecord 对象包含了目标主题和要发送的内容,同时还可以指定键和分区。在发送 ProducerRecord 对象前,生产者会先把键和值对象序列化成字节数组,这样它们才能够在网络上传输。接下来,数据被传给分区器。如果之前已经在 ProducerRecord 对象里指定了分区,那么分区器就不会再做任何事情。如果没有指定分区 ,那么分区器会根据 ProducerRecord 对象的键来选择一个分区,紧接

2020-11-24 16:41:51 138

原创 kafka学习笔记(一)

kafka是什么?Kafka是一个分布式的、可分区的、可复制的、基于发布/订阅的消息系统,Kafka主要用于大数据领域,当然在分布式系统中也有应用。目前市面上流行的消息队列RocketMQ就是阿里借鉴Kafka的原理、用Java开发而得基本概念什么是Broker一个单独的Kafka server就是一个Broker,Broker的主要工作就是接收生产者发送来的消息,分配offset,然后将包装过的数据保存到磁盘上;此外,Broker还会接收消费者和其他Broker的请求,根据请求的类型进行相应的处

2020-11-23 16:47:36 169

原创 python布隆过滤器实现去重详解

class bloomfilter(object): # 调用方法 bloomfilter.__REDIS_BLOCK_MAX_SIZE __REDIS_BLOCK_MAX_SIZE = 268435456 _key = "" _block_dict = {} _bloomfilter_size = 0 # m _hash_func_...

2020-10-15 15:47:51 298

原创 pymongo.errors.CursorNotFound: cursor id 1058082xxxxxxxx not found mongo索引超时

一,超时原因数据量太大,mongo 的性能处理不过来数据在处理过程中太耗时二,解决方案为find() 函数设置 no_cursor_timeout = True,表示游标连接不会主动关闭(需要手动关闭)items = myset.find(no_cursor_timeout = True)for item in items: print(item) #处理数据items.close()如果使用了方法一之后还出现报错,可以继续为find()函数设置batch_size参

2020-07-08 10:50:29 2664

原创 通过使用sklearn决策树,简单练习案例分析

# 根据电影中的类型,票房,产地,预测去不去看电影import csvfrom sklearn.feature_extraction import DictVectorizerfrom sklearn import preprocessingfrom sklearn import tree# 导入数据集,film_data = open('film.csv', 'rt')reader = csv.reader(film_data)# 表头数据headers = next(reade.

2020-07-03 14:34:56 637 1

原创 如何把一个无序列表中把相同的数据形成一个新的列表

def test(list1): # 进行一个排序操作,把相同的元素排列到同样的位置 list1 = sorted(list1) result_list = [] x = [] for i in range(len(list1)): if i + 1 < len(list1): if list1[i] == list1[i + 1]: x.append(list1[i])

2020-05-29 14:23:37 362

原创 ElasticSearch与python交互

测试环境 ElasticSearch7.7.0 python 3.81. 基本查询数据from elasticsearch import Elasticsearches = Elasticsearch()query = { "query": { "match_all": { } }}res = es.search(index='movies', doc_type='movie', body=query)print(res)#查询索引为mo

2020-05-22 12:41:03 436

原创 安卓逆向入门

一:环境准备目标app(1)如果是国内市场的软件直接搜索找到安装包即可(2)如果软件的目标市场是国外的话,就要科学上网去找一下抓包软件(1)我这边使用的是charles ,也可以选择fiddler,mac下没有fiddler(2)配置charles 电脑版安装charles 并进行简单的配置,如果抓取的是app的包,配置:Proxy–>SSL Proxying Settings–>SSL Proxying 添加一个配置 host和port都直接用*号代替,电脑版就配置完了)

2020-05-18 15:29:47 354

原创 adb链接模拟器

不同的模拟器的端口不一样,所以链接不同的模拟器有不同的链接方式不指定端口 默认adb 链接的是5555端口夜神模拟器adb connect 127.0.0.1:62001逍遥模拟器adb connect 127.0.0.1:21503mumu模拟器(网易的)adb connect 127.0.0.1:7555window电脑一般都会带有adb的命令,直接去命令行页面使用adb 链接...

2020-04-27 15:14:28 1304

原创 一篇文章搞懂python图片裁切的问题

```pythonimport osimport shutilfrom PIL import Image# 获取path目录下的所有文件def get_imlist(path): return [os.path.join(path, f) for f in os.listdir(path)]def cut_img(path="demo"): paths = pat...

2020-03-13 10:31:16 458

原创 python实现添加文字水印到图片中间

1.环境python32. 需要用到的模块或包 os(内置模块),PIL(第三方模块,自己安装一下)import osfrom PIL import Image, ImageFont, ImageDrawdef add_text_to_image(imgpath="../img"):# imgpath 需要加水印的图片位置 for parent, dirnames, f...

2019-12-03 20:13:02 1668

原创 手动实现url去重

根据请求的url、请求方法、请求参数、请求体进行唯一标识,进行比对,由于这四个数据加到一起,内容较长,因此使用求指纹的方式来进行去重判断。指纹计算方法,最常用的就是md5、sha1等hash加密算法,来求指纹,找个地方保存指纹即可def _to_bytes(string): """为了兼容py2和py3,利用_to_bytes方法,把所有的字符串转化为字节类型""" if si...

2019-10-12 10:37:16 284

原创 python 日志文件配置

自己搭建的日志文件,日常使用可以满足了import datetimeimport logging.handlersimport osimport loggingfrom logging.handlers import RotatingFileHandlerfrom init import log_dir# 验证日志文件夹是否存在,不存在创建一个新的文件夹def make_dir...

2019-09-26 16:06:21 336 1

原创 python实现令牌桶

import multiprocessingimport timeimport redisfrom cfg import PROXY_REDIS_CFGfrom common import redis_poolproxy_redis_cfg = PROXY_REDIS_CFG['dev']redis_pool.init_redis(proxy_redis_cfg)TEST = ...

2019-05-25 14:14:49 1148

原创 python scrapy 爬取包含iframe标签内的数据

如图所示: 所要提取的数据都在iframe标签里面的,直接用xpath提取iframe标签里的内容是提取不到的,看到图一有一个script 所有的数据都在这个js标签内的,展开script标签后会看到一堆js代码,一直往下找会发现一个bytes类型的数据,如图这个红色的源码就是你要的数据,但是他是一个bytes类型的,提取出来之后需要你转一下格式,这里推荐使用import urllib...

2019-05-25 11:50:01 6993 3

原创 解决requsts响应的response经过etree.HTML之后代码减少

使用方法 导入这个函数 def create_root_node():text传入response.test即可from lxml import etree, htmlclass SafeXMLParser(etree.XMLParser): def __init__(self, *args, **kwargs): kwargs.setdefault('reso...

2019-03-22 16:58:17 3500 5

原创 关于亚马逊各国站点的时间转化成时间戳

传入各国的站点名字和时间 除了日本站其他站点的评论时间和feedback时间格式一样,日本站不同,代码已经处理def conduct_mon(area, dateStr): year = "" day = "" month = "" if area == "mx": ...

2019-03-04 14:57:50 3379

原创 转成各个国家的标准时间

from datetime import datetimeimport timedef utc_time(site): tss1 = str(datetime.utcnow()).split(".")[0] timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") timeStamp = int(time.mktime...

2019-01-16 14:08:41 681

原创 升级linux系统下的python版本 python3.52到python3.6

对系统Linux(Ubuntu)中的python3.5.2进行升级其实升级python3.6.3只需要三个指令。1. $sudo add-apt-repository ppa:jonathonf/python-3.62.$ sudo apt update3.$ sudo apt install python3.6可以使用python3.6进行调用pycharm中添加pycharm3...

2018-10-11 09:43:07 5084

原创 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。

根据python3.0import sysdef maxlcp(strs): if strs == None or len(strs) == 0: return 0 lens = len(strs) dp = [0] * lens dp[0] = 1 if strs[0] == strs[lens - 1] else 0 for i i...

2018-10-07 13:20:46 2716

原创 pickle模块个base64模块的使用

pickle模块的使用pickle模块是python的标准模块,提供了对于python数据的序列化操作,可以将数据转换为bytes类型,其序列化速度比json模块要高。pickle.dumps() 将python数据序列化为bytes类型 pickle.loads() 将bytes类型数据反序列化为python的数据类型测试 &gt;&gt;&gt; import pickle ...

2018-09-27 17:36:27 237

原创 docker 操作的终端命令基本使用

开启一个容器sudo docker run -it --name=myubuntu ubuntu进入一个开启的容器 sudo docker exec -it myubuntu /bin/bash删除容器sudo docker container rm mypython删除镜像 sudo docker image rm python镜像仓库拉去镜像和查看镜像 sudo ...

2018-09-25 11:36:44 4614 1

原创 Docker 删除镜和在镜像仓库拉去镜像

第一步:1. 查询镜像python@ubuntu:~/Desktop$ sudo docker image lsREPOSITORY TAG IMAGE ID CREATED SIZEhello-world latest 4ab4c602aa5e ...

2018-09-23 23:18:50 647

原创 Django框架五个扩展类的使用方法

1)ListModelMixin列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码。该Mixin的list方法会对数据进行过滤和分页。from rest_framework import mixinsclass BookListView(mixins.ListModelMixin,GenericAPIView): ...

2018-09-22 10:03:41 591

原创 maximum recursion depth exceeded in comparison 报错解决方法

def recurse(n, s): if n == 0: print(s) else: recurse(n-1, s + n)recurse(-1, 0)Traceback (most recent call last): File "C:/Users/wb/Desktop/练习.py", line 136, in &lt;modu...

2018-09-20 08:59:05 7697

原创 django数据库迁移报错 TypeError:__init__() missing 1 required positional argument :'on_delete'

django2.0 在定义user字段的时候,关联外键,如果这样写的话,迁移数据库,会提示缺少 on_delete 参数class OAuthQQUser(BaseModel): """QQ登录数据""" user = models.ForeignKey('user.User', verbose_name='用户') openid = models.CharField(m...

2018-09-19 15:36:11 738

转载 30个Python常用小技巧

1、原地交换两个数字x, y =10, 20print(x, y)y, x = x, yprint(x, y)10 2020 102、链状比较操作符n = 10print(1 &lt; n &lt; 20)print(1 &gt; n &lt;= 9)TrueFalse3、使用三元操作符来实现条件赋值[表达式为真的返回值] if [表达式] else [表达式为假的...

2018-09-19 13:11:56 440

原创 用python计算阶乘的几种方法

第一种:利用functools 工具处理import functoolsresult = (lambda k: functools.reduce(int.__mul__, range(1, k + 1), 1))(5)print(result)```第二种:普通的循环x = 1y = int(input("请输入要计算的数:"))for i in range(1, y + 1)...

2018-09-19 09:39:14 64324 1

原创 什么是解释性语言? 什么是编译性语言?

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。解释性语言的定义:解释性语言的程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。现代解释性语言通常把源程序编译成中间代码,然后...

2018-09-18 13:43:57 1187

转载 什么是动态语言,编程里那些事动态语言

动态语言的定义:动态编程语言 是 高级程序设计语言 的一个类别,在计算机科学领域已被广泛应用。它是一类 在 运行时可以改变其结构的语言 :例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力。众所周知的 ECMAScript ( JavaScript )便是一个动态语言,除此之外如 PHP 、 R...

2018-09-18 13:41:41 5464

原创 当args,kwargs与位置参数和默认参数混用的情况下的排序问题

示例一、(三者顺序是:位置参数、默认参数、*args)1 def foo(x,y=1,*args):2 pass3 foo (1,2,3,4,5) // 其中的x为1,y=1的值被2替换,3,4,5都给args,即args=(3,4,5)示例二、(三者顺序是:位置参数、*args、默认参数)1.def foo(x,*args,y=1):2. pass3.foo (1,2,...

2018-09-18 13:31:50 509

原创 python中主要存在四种命名方式

1、object #公用方法2、_object #半保护#被看作是“protect”,意思是只有类对象和子类对象自己能访问到这些变量,在模块或类外不可以使用,不能用’from module import *’导入。#object 是为了避免与子类的方法名称冲突, 对于该标识符描述的方法,父类的方法不能轻易地被子类的方法覆盖,他们的名字实际上是classname__methodname。...

2018-09-18 13:23:01 537

原创 python中有哪些类型的布尔值是False

NONE;False(布尔类型)所有的值为零的数 0(整型) 0.0(浮点型) 0L(长整型) 0.0+0.0j(复数)(空字符串)""(空列表)[](空元组)()(空字典){}

2018-09-18 13:08:18 14115

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除