技术杂谈
s_kangkang_A
后来许多人问我一个人夜晚踟蹰路上的心情,我想起的却不是孤单和路长,而是波澜壮阔的海和天空中闪耀的星光。
展开
-
python各种时间转换
简单记录一下时间戳与标准时间,格林威治时间与标准时间,时间戳之间的快速转换。后续有其他格式时间转换会一起记录到这里。原创 2022-10-24 16:08:42 · 1404 阅读 · 1 评论 -
对列表内的字典元素进行去重
代码:def remove_duplication(items): """ :param items: 接受一个元素为字典的列表 :return: 返回一个根据字典键v_id去重后的列表,列表元素不变 """ items2 = OrderedDict() for item in items: items2.setdefault(item['id'], {**item}) items2 = list(items2.values())原创 2020-12-29 11:14:52 · 342 阅读 · 0 评论 -
python 生成Excel表,多行数据写入
import xlsxwriter# 写exceldef write_excel(all): workbook = xlsxwriter.Workbook('test.xlsx') # 表名 worksheet = workbook.add_worksheet(u'sheet1') # 表头 也可使用worksheet.write('0', '0', 'A') worksheet.write('0', '1', 'B')的方式 worksheet.write(.原创 2020-11-04 18:36:18 · 2247 阅读 · 0 评论 -
python 阿里云批量上传图片(网络流)
将网络图片上传到阿里云,使用网络流,无需下载本地import osimport uuidimport oss2import requestsimport yaml# 读配置文件def read_config(file_path): if not os.path.isfile(file_path): print('config file not found:%s',file_path) return False with open(fil原创 2020-09-17 11:13:25 · 567 阅读 · 0 评论 -
python copy的使用场景
# 设,当前需求,处理打印张三12个月的排名情况# 给定字典,将相关数据扩充到字典内# 处理结束获取一个包含12个月排名情况的列表不使用copy:import randomdef begin(): info = { 'name': '张三', 'age': 18, } parse(info)def parse(info): rank_list = [] for i in range(12): .原创 2020-09-11 13:50:47 · 249 阅读 · 0 评论 -
python 自定义异常类并使用raise捕获
class TimeOutError(RuntimeError): def __init__(self, *args, **kwargs): super(TimeOutError, self).__init__(*args, **kwargs)class TestNameError(NameError): def __init__(self, *args, **kwargs): super(TestNameError, self).__init__(*.原创 2020-09-02 17:32:04 · 413 阅读 · 0 评论 -
微博同城热搜抓取逻辑(333城市)
接口需要从移动端拿安坐模拟器加Fiddlerimport reimport sysimport timeimport pymysqlimport requests# 获取经纬度def get_ll(): # 经纬度接口 url = 'https://m.weibo.cn/api/container/getIndex?uid=1887387237&wm=9006_2001&from=10A8195010&sourcetype=weixin&原创 2020-08-25 10:23:51 · 2404 阅读 · 1 评论 -
两组列表去重,remove和空列表使用append的区别
s = [1, 2, 3, 4, 5, 6]x = [1, 1, 1, 2, 3, 3, 4, 5, 6, 7]for i in x: if i in s: x.remove(i)print(x)y = []for a in x: if a not in s: y.append(a)print(y)原创 2020-08-18 10:01:44 · 325 阅读 · 0 评论 -
python更新json文件
有json文件如下:{"info": [{"platform": 1, "toptype": 1, "flag": 1}, {"platform": 1, "toptype": 2, "flag": 1}, {"platform": 1, "toptype": 3, "flag": 1}, {"platform": 1, "toptype": 4, "flag": 1}, {"platform": 2, "toptype": 1, "flag": 1}, {"platform": 2, "top原创 2020-08-05 18:15:57 · 1250 阅读 · 0 评论 -
python:logging的简单使用
上代码分析import loggingimport timeimport requestslogging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(filename)s - %(lineno)d - %(message)s...原创 2019-12-16 13:43:51 · 389 阅读 · 0 评论 -
selenium:打开多界面,操作句柄,控制页滑动,正则表达式,操作输入框和按钮,定位复合elements
有个比较有趣的网站,需要执行两个步骤:切换到other商品页面筛价,即输入价格区间emmm,没有前后顺序要求,这个网站也比较神奇上代码在解释# -*- coding:utf-8 -*-import refrom selenium import webdriverdriver_path = r'E:\Tools\cd\chromedriver.exe'chrome_...原创 2019-12-13 14:01:30 · 286 阅读 · 0 评论 -
python:解决os.listdir乱序问题
背景:我有一个文件夹,其中有多个碎片化视频需要合并。0_x是一个视频1_x是第二个视频使用ffmpeg合并,需要有一个按顺序排列的文档,才能进行合并,否则合并出的视频是乱序的测试错误代码及示范:import osdef get_merge(): path = 'E:\spiders\cache' files = os.listdir(path) ...原创 2019-12-11 14:48:33 · 963 阅读 · 2 评论 -
python 实现多线程下载加密m3u8格式视频,使用FFmpeg合并
如果你要下载的m3u8文件未加密:请移步:https://blog.csdn.net/s_kangkang_A/article/details/103071822上次做完了没加密的,再次记一下加密的怎么做。其实效率不高,看看就知道了,可能是线程没开够,也可能是,解密浪费时间。代码:import datetimeimport osimport reimport th...原创 2019-11-20 14:57:23 · 2586 阅读 · 0 评论 -
python 使用输出行覆盖,达到动态等待效果
直接上代码,效果自测即可import timer = ['.','. .','. . .']for i in range(10): print("\r", r[i%3], end='', flush=True) time.sleep(0.4)原创 2019-11-19 17:07:18 · 2243 阅读 · 0 评论 -
爬虫能用selnium吗?selenium对爬虫到底有什么意义?
刚学爬虫的,都觉得,哇,selenium好强大,所见即可爬,什么ajax请求,什么js,我selenium加chromedriver全搞定。其实不是的,selenium它并不万能,不可否认它的确强大,方便。但,随着爬虫学习和使用越来越深入,你会发现,selenium的弊端越来越多。一:效率问题从启动,到模拟种种用户行为,他都没有直接访问接口快。二:资源浪费爬虫部署在服务器,大量...原创 2019-11-14 18:49:19 · 2973 阅读 · 0 评论 -
python 实现多线程下载m3u8格式视频,使用FFmpeg合并
如果你需要下载的m3u8文件被加密请移步:https://blog.csdn.net/s_kangkang_A/article/details/103163073电影之类的长视频好像都用m3u8格式了,这就导致了多线程下载视频的意义不是很大,都是短视频,线不线程就没什么意义了嘛。我们知道,m3u8的链接会下载一个文档,相当长,半小时的视频,应该有接近千行ts链接。这些ts链接...原创 2019-11-14 17:53:10 · 10332 阅读 · 9 评论 -
python 实现多线程下载视频
贼快代码:def thread(url): r = requests.get(url, headers=None, stream=True, timeout=30) # print(r.status_code, r.headers) headers = {} all_thread = 1 # 获取视频大小 file_size = int(...原创 2019-11-13 16:15:35 · 3800 阅读 · 7 评论 -
python 使用iter_content实现视频下载
先看代码video_url = 'http://v1-default.ixigua.com/4e7d18412a0d03f316e9ec84c47a2938/5dcb87bf/video/tos/cn/tos-cn-v-0064/05d51f7a7af4480e8677f2b22b836fa8/'# 初始下载大小为0downsize = 0rsp = requests.get(vide...原创 2019-11-13 11:46:52 · 14025 阅读 · 0 评论 -
python 反转列表的两种方式
一:使用reversedlist_a = [1,2,3,4,5,6]list_b = list(reversed(list_a))print(list_b)说明:reversed返回的是迭代器,因此需要list才能变成列表二:切片,从后取,步长为1list_a = [1,2,3,4,5,6]list_b = list_a[::-1]print(list_b)...原创 2019-11-12 16:01:03 · 2858 阅读 · 2 评论 -
解决selenium报错导致程序异常终止
报错信息:selenium.common.exceptions.TimeoutException: Message: timeout报错原因:超时比如我们有大量ip,去访问某个页面,但我们并不知道ip的稳定性,如果一个ip异常不能使用,可能会导致整个代码停掉,后面无法测试。这时候就要用selenium自带的异常来解决:代码:# -*-encoding: utf-8-*...原创 2019-11-05 13:47:44 · 27435 阅读 · 4 评论 -
m3u8文件里只有js链接,没有ts链接,和key文件的一点记录
xxxx是域名或者接口,别问为什么,问就是怂。一般来说,m3u8文件是类似于下面这样的它有很多的ts链接,可以下载对应的ts文件视频,在通过别的方法去合并成一个完整的长视频。前两天,爬虫出了bug,网站是:https://www.xxxx.com然后,后面几天我就崩溃了。下面是XHR响应:第一个是个m3u8文件,按理说,我只需要重新找到这个链接,然后交给已有方法就...原创 2019-10-14 17:01:10 · 9295 阅读 · 6 评论