“\xef\xbb\xbf”爬坑记录
今天早上帮同事写了脚本,大致功能:从文本中读取域名,加密存储成按照自己定义的格式。但是一个简单的代码居然出现了错误。初始的代码如下:
# coding:utf-8 import hashlib
import base64 # 使用MD5加密字符串 def entry_md5(text):
md5_object = hashlib.md5()
md5_object.update(text)
test = md5_object.hexdigest().upper() return test def write_file(url, entry_code):
# 前五位
code = '[{}]'.format(entry_code)
# url加密
ob = 'v={}|t=w|a=k|'.format(url) encode = base64.b64encode(ob)
final_code = 'object="{}"'.format(encode)
with open('3.txt', 'a+') as f:
f.writelines(code + '\n' + final_code + '\n') with open('2.txt', 'r') as f:
for line in f.readlines(): line = line.strip()
line = line.lstrip() url_domain = line.split('.')
if len(url_domain) > 2:
fin_domain = url_domain[1]
else:
fin_domain = url_domain[0]
text2 = entry_md5(line.strip())
# 获取前五位数字 text3 = entry_md5(text2) text4 = text3[0:5] write_file(fin_domain, text4)
但是在同事那边验证失败了。起始文件我是用set(list)一个列表。但是在minergate这里出错了。通过对line输出
其中我已经对line两边去掉空格,结果在结果集中还是出现空格。一番折腾后,发现我在起始文件minergrate处于头部,会加入utf8编码。需要把编码去掉。
# coding:utf-8 import hashlib
import base64
import codecs # 使用MD5加密字符串 def entry_md5(text):
md5_object = hashlib.md5()
md5_object.update(text)
test = md5_object.hexdigest().upper() return test def write_file(url, entry_code):
# 前五位
code = '[{}]'.format(entry_code)
# url加密
ob = 'v={}|t=w|a=k|'.format(url) encode = base64.b64encode(ob)
final_code = 'object="{}"'.format(encode)
with open('3.txt', 'a+') as f:
f.writelines(code + '\n' + final_code + '\n') with open('2.txt', 'r') as f:
for line in f.readlines(): line = line.strip()
line = line.lstrip()
line = line.replace(codecs.BOM_UTF8, '')
url_domain = line.split('.')
if len(url_domain) > 2:
fin_domain = url_domain[1]
else:
fin_domain = url_domain[0]
text2 = entry_md5(line.strip())
# 获取前五位数字
if 'minergate' in line:
print type(line), len(line)
print line.split('minergate')
print len('minergate.com')
print line
text3 = entry_md5(text2)
print(text3)
text4 = text3[0:5]
print(text4)
#write_file(fin_domain, text4)
最终我们看到结果输出正常了。
“\xef\xbb\xbf”爬坑记录的更多相关文章
- Redis中存字段key出现 \xef \xbb \xbf
环境: java向redis中存数据用于重复判断,结果有一条记录居然去不了重复,用Redis DeskTop Manager 查看发现,有一个 key 中居然是这样的: 20190324157:\xE ...
- mybatis-generator 详细配置及使用,爬坑记录
mybatis-generator 详细配置及使用,爬坑记录 提示:如果不成功一定是项目路径和 数据库配置出问题,本篇基于 MySQL 8.0.13,调试没有问题. 如果失败,建议使用相同的项目结构, ...
- centos7安装Mysql爬坑记录
centos7安装Mysql爬坑记录 查看是否已安装 使用下列命令查看是否已经安装过mysql/mariadb/PostgreSQL 如果未安装,不返回任何结果(ECS的centos镜像默认未安装 ...
- elasticsearch 单节点搭建与爬坑记录
elasticsearch 单节点搭建与爬坑记录 prepare 虚拟机或者云服务器(这里用的是阿里云ECS) linux---centos7 安装完毕的jdk 相应的安装包(在https:/ ...
- 03、Swagger2和Springmvc整合详细记录(爬坑记录)
时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagg ...
- vuex2.0.0爬坑记录 -- mutations的第一个参数state不能解构
今天在学习vuex的过程中,遇到了一个很困扰人的问题,最终利用vuex的状态快照工具logger解决了问题. 问题是这样的,我在子组件中使用了mapState()函数来将状态映射至子组件中,使子组件能 ...
- JdbcTemplate的一次爬坑记录
时隔三个多月,我终于想起我还有个博客,其实也不是忘了我这个博客,只是平时工作繁忙没时间去写博客,故今晚腾出时间来记录一下上次工作中遇到的一个问题,给园友们分享出来,以免入坑. 上个星期在工作中使用Jd ...
- mac M1 php扩展 xlswriter 编译安装爬坑记录
电脑配置 MacBook Pro(14英寸,2021年) 系统版本 macOS Monterey 12.4 芯片 Apple M1 Pro PHP环境 MAMP Pro Version 6.6.1 ( ...
- Vue开发爬坑记录
1.使用eslint代码检查时,常见的的错误: 1.1 Expected indentation of 0 spaces but found 1 前面的空格个数不对.应该不能有空格. 1.2 Stri ...
随机推荐
- Python对字典分别按键(key)和值(value)进行排序
使用sorted函数进行排序 sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数;其中iterable表示可以迭代的对象,例 ...
- [Java]算术表达式求值之一(中序表达式转后序表达式方案)
第二版请见:https://www.cnblogs.com/xiandedanteng/p/11451359.html 入口类,这个类的主要用途是粗筛用户输入的算术表达式: package com.h ...
- IMDB Classification on Keras
IMDB Classification on Keras In the book of Deep Learning with Python, there is an example of IMDB m ...
- idea 编译 netty 源码
git clone netty 源码,运行 example 报错 全量 mvn compile -DskipTests=true 后,依然报错 手动在 netty-buffer 模块中添加对应的依赖 ...
- SQL Server 批量创建作业(备份主分区)
一. 需求背景 在我的数据库实例中,有很多类似下图所示的数据库,这些数据库的名称是有规律的,每个数据库包含的表都是相同的,其中2个表是类似流水记录的表,表的数据量会比较大,占用的空间有几十G到上百G不 ...
- 安装kafka 记录
sudo ./zoo /zoo /bin/zkServer.sh start sudo ./kafkacluster/kafka1/bin/kafka-server-start.sh ./kafkac ...
- 深入理解.NET Core的基元(二)
原文:Deep-dive into .NET Core primitives, part 2: the shared framework作者:Nate McMaster译文:深入理解.NET Core ...
- Java作业 题目:16版.情人节送玫瑰花
题目:16版.情人节送玫瑰花 题干: 1.实验要求 本实验要求:以情人节送花为业务背景,体验自定义异常以及异常处理机制. 1-1. 业务说明: 1-1.1. 本实验以情人节送花为业务背景,女方提出送花 ...
- Android引用多媒体
res目录下,创建raw目录(Android会自动识别这个目录),如果自己创建的目录,可能无效底下的mp3格式,mp4格式的文件名必须小写. 引用方式: mediaPlayer = MediaPlay ...
- PHP中时区(timezone)设置的三种方法(转)
方法1: (最好的方法)在php.ini里加上找到date.timezone项,设置date.timezone = "Asia/Shanghai",重启环境就ok了. 方法2: 在 ...