自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 tkinter与爬虫的有机结合,视频爬虫GUI实现(新增下载功能)

这是非gui版的爬虫源码,功能更强大,支持视频下载,逻辑也更加完整,感兴趣可以看看https://github.com/iskangkanga/PiracyVideo简单实现GUI版本的视频爬虫效果图:代码:import refrom service.geter import get_responseimport requestsimport tracebackfrom tkinter import *def get_source(): # 响应第一个b.

2020-08-04 14:53:12 1194 4

原创 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 2542

原创 python 实现多线程下载m3u8格式视频,使用FFmpeg合并

如果你需要下载的m3u8文件被加密请移步:https://blog.csdn.net/s_kangkang_A/article/details/103163073电影之类的长视频好像都用m3u8格式了,这就导致了多线程下载视频的意义不是很大,都是短视频,线不线程就没什么意义了嘛。我们知道,m3u8的链接会下载一个文档,相当长,半小时的视频,应该有接近千行ts链接。这些ts链接...

2019-11-14 17:53:10 10109 9

原创 python各种时间转换

简单记录一下时间戳与标准时间,格林威治时间与标准时间,时间戳之间的快速转换。后续有其他格式时间转换会一起记录到这里。

2022-10-24 16:08:42 1363 1

原创 x-zse-96的JSRPC解决方案

zhihu,xze96,jsrpc

2022-09-20 16:41:40 1272 3

原创 更一篇刚出炉的解析

这次的目标是aHR0cHM6Ly93d3cua2Fua2FuZXdzLmNvbS9hLzIwMjItMDItMjMvMDAzMTAwNTE3NjUuc2h0bWw=说难不难,说简单也不简单慢慢分析吧首先,确定网页源码没有视频数据,那就肯定是走接口了,找找看吧。在上图找到了目标接口和数据。分析接口:上面的参数咱们从1到6命名参数1不知道是啥,页面源码搜不到参数2搜到了,在页面源码,就是一个叫omsid的东西,已解决参数3和5 固定值,一眼看出来的东西不多解.

2022-04-22 15:15:42 776

原创 Python Lost connection to MySQL server during query

一个关于数据库的报错网上关于这个报错的原因有很多。这里记录一种可能以及解决方法。当你的脚本做的是多线程,且线程都操作了数据库,短时间内多个线程请求同一个数据库链接进行操作时,会报此错误。在mysql的官方文档:MySQL :: MySQL 8.0 Reference Manual :: B.3.2.7 MySQL server has gone away解决方法也很简单,不要多个线程使用同一个链接。也就是说,每启动一个线程,即同步开启一个新的数据库链接即可解决...

2022-02-17 17:36:05 1890

原创 借x-emas-gw-sign解密,讲讲常见加密

目标页面:aHR0cHM6Ly9jb250ZW50LXN0YXRpYy5jY3R2bmV3cy5jY3R2LmNvbS9zbm93LWJvb2svaW5kZXguaHRtbD90b2Nfc3R5bGVfaWQ9ZmVlZHNfZGVmYXVsdCZzaGFyZV90bz13ZWNoYXQmaXRlbV9pZD03MzY1MjM2OTQ3MjExOTIxODA5JnRyYWNrX2lkPTM0NUU4NjI5LUNGNjQtNEYyQy1BMzYxLUI3RUI0REEzOTQ0QV82NjE2NDg0MzM

2021-12-21 17:10:53 1394 3

原创 视频爬虫逆向简单入门级

严禁用于学习交流之外的任何用途,侵删只能说这个比较简单,没什么难度,很适合做js逆向入门下面就开始解析一下这个网站吧。aHR0cHM6Ly93d3cubWlndXZpZGVvLmNvbS9tZ3Mvd2Vic2l0ZS9wcmQvZGV0YWlsLmh0bWw/Y2lkPTcxMzM4OTcxNg==确认需要的视频链接不在源码后,我们开始找接口分析: 图一这么一看,好像是直...

2021-08-31 15:35:36 739

原创 JS逆向——一个新的视频爬虫

仅限技术交流和学习记录,严禁用于任何商业用途,否则后果自负,侵删个人觉得坑还挺多,但难度不算大的一篇js逆向。来吧,先分析。起初解析pc网页端,感觉有点难度,然后就转到移动网页端了,其实是一模一样的,除了接口和接口非加密参数不一样。所以没啥区别,这里就还是按照移动网页端来解析。1,第一步,打开网页找接口。我们在上图已经找到了目标接口和视频真实链接,这是个m3u8链接,图里截取了部分。2,对接口参数做解析。可以看到,对该接口发起了post请求,我们接着看参数:.

2021-07-23 16:48:32 1172

原创 ValueError: row index was 65536, not allowed by .xls format

在使用xlwt模块时,表的行数达到上限,该模块就无法使用了,会出现如题报错。下面记录一种更简单的处理模块代码:import openpyxldef write(all): filename = 'test.xlsx' outwb = openpyxl.Workbook() outws = outwb.create_sheet(index=0) # 表头 header = ['列1', '列2', '列3', '列4'] all.insert

2021-06-21 14:12:12 454

原创 如何使utid(cna)有效,解析 https://log.mmstat.com/eg.js

我在上篇博客记录了批量抓取接口数据的一些解析,详情:https://blog.csdn.net/s_kangkang_A/article/details/116267728还分析了从 https://log.mmstat.com/eg.js 获取的utid(cna)不可用并做了测试也提出来解决办法,使用隧道代理和selenium+chromedriver的方式获取utid(cna)做一个支撑抓取的数据库表但是,从https://log.mmstat.com/eg.js 获取的utid(cn...

2021-05-13 16:16:44 1605

原创 视频网站的接口解析

先把代码放上来import base64import hashlibimport jsonimport timeimport requestsimport urllib3urllib3.disable_warnings()def get_data(url, utid): """ 生成data参数 :param url: 视频地址 :return: """ # 从连接中获取vid vid = url.split('id_')[-

2021-04-29 14:26:32 9021

原创 Python爬虫 Selenium使用隧道代理

1,由于隧道代理的特点,使用selenium+隧道代理,一般用于做一次性访问达到某种目的,而不是长时间保持状态的访问,更不适用于需要跳转的情况2,selenium+隧道代理,不可设置无头模式(不可添加 headless)代码:from selenium.webdriver import Chrome, ChromeOptionsimport zipfileimport stringdef create_proxyauth_extension(proxy_host, proxy_por

2021-03-30 13:46:17 1902 1

原创 Appium+安卓模拟器(夜神)环境搭建与跑通教程

终于还是对app爬虫下手了,从简单的操作操作安卓模拟器开始。声明:这篇教程很详细,目的是为了让没有接触过这个的人能一次跑通。一, 环境准备在开始环境准备之前,答应我我们都是立志做程序员的人,安装软件请不要用默认路径可以吗?好了,开始准备安装环境依赖。1,Android SDK网上有教程用Android Studio,我没有用这个,据说有墙。这里推荐另一种安装方法。打开https://www.androiddevtools.cn/ 如下选中SDK工具后选择SDK To...

2021-02-02 14:58:50 1342

原创 视频爬虫js逆向——我搜不到密参怎么办

文章仅限于技术交流与学习禁止用于商业盈利侵权即删网站示例:aHR0cDovL3ZpZGVvLmNhaXhpbi5jb20vMjAyMS0wMS0xNS8xMDE2NTEzNDkuaHRtbA==针对该网页抓取视频,我们来分析一波。首先,我们明确,该视频无法在源码获取。抓包,首先看xhr包:打开,逐一查看:我们在如下xhr链接找到了视频数据:该链接中含有以下参数于是,我们需要找到数据来源。先找最具特征的,一般来说,我们会先找sign,在以上参数中,有..

2021-01-19 17:08:42 1239

原创 python报错:not all arguments converted during string formatting

下面简单做个测试:if __name__ == '__main__': t = [(1, 2, 3, 4, 5, 6), 1] test = "这是一个测试%s" for i in t: try: print(test % i) except Exception as e: print("error:", e)在列表里放入元组和数字两种类型的数据,我们希望用占位符%s把它打印在test里。结果:

2021-01-08 10:40:52 2690

原创 对列表内的字典元素进行去重

代码: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 334

原创 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 2207

原创 Pyhton读CSV文件报错UnicodeDecodeError

UnicodeDecodeError: 'gbk' codec can't decode byte 0xac in position 72 with open('yy.csv', 'r') as f: rows = csv.reader(f) rows = list(rows) for row in rows: print(row)以上代码发生错报原因可能是csv文件编码问题解决: with open('yy.csv

2020-10-19 16:38:56 227

原创 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 529

原创 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 235

原创 爬虫在做网络请求时出现报错的一点总结

背景:对某网站的某个https接口发起大量请求SSLError("bad handshake: Error([('rsa routines', 'int_rsa_verify'如上报错,添加verify=False,可解决。当请求量次数少,请求频率低时,该方法基本可以解决。但当请求次数多,请求频率高时,依旧会报错。Caused by SSLError(SSLError("bad handshake: SysCallError(10054, 'WSAECONNRES我的解决方法是.

2020-09-04 14:41:26 645 1

原创 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 374

原创 微博同城热搜抓取逻辑(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 2314 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 308

原创 博客园,模拟登陆破解滑动验证码

import randomimport timefrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsdef isSimilar(image1, image2, x, y): """ 比较两种图片在(x,y)坐标点位置的像素值是否一样 :param image1: :param imag.

2020-08-12 17:07:59 331

原创 抖音无水印视频抓取与按帧截取图片

代码实现无水印视频抓取并根据视频按帧取图。你喜欢的抖音美女,每一帧都是壁纸,上码:import requestsimport refrom urllib import requestimport cv2import argparseimport osimport urllibdef get_parse(url): resp = requests.get(url) web_url = resp.url item_id = re.search('/(\d+)/

2020-08-06 11:22:32 2014

原创 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 1222

原创 多线程下载并获取电视剧集长度报错:[WinError 6] 句柄无效

背景:多集电视剧采用分集,使用多线程下载视频,ffmpeg合并,且使用VideoFileClip获取长度运行结果:正常下载一集,完成第二集下载后,无法获取长度,报错:[WinError 6] 句柄无效。原因:该报错出现的原因是,使用VideoFileClip获取长度导致的,确切说,是第二次使用该方法获取视频长度导致。报错代码:def getLength(file_name): video_path = 'cache/' + file_name clip = Vi

2020-07-28 17:30:35 248

原创 爬虫多线程卡死或阻塞,程序无法异常终止

关于m3u8格式视频多线程下载及合并的详解,在以前博客里记录过最近突发奇想,准备搞点非正规电影网站的资源下载器,在进行第一个网站时,可能因为该网站通信质量差,导致我多线程卡死,阻塞了研究了一下网上资料以及自己的代码,已经解决了,下面是思路当线程卡死或者阻塞时,应首先考虑网络或者其他异常导致请求无法自动判定为超时,挂掉该线程,而是使线程一直处于卡死状态当手动加上超时时间,就可以大概率解决该异常从某种程度上来说,我们做请求时,都应该加上超时限制,不然代码卡在奇怪的地方,还要分析好久任何一个ts文件.

2020-07-24 16:37:46 1329

原创 微博个人页面重定向

微博每个用户有一个专属该用户的uid通过该uid可访问该用户的主页在主页拿到需要的数据但微博对用户主页的访问,部分做了重定向处理,导致无法拿到数据下面解决该重定向问题import reimport timeimport requestsdef weibo(id): url = "https://weibo.com/u/{}" headers = { 'Host': 'weibo.com', 'User-Agent': 'Mozill.

2020-07-24 10:50:37 437

原创 快手字体反爬

import reimport requestsfrom fontTools.ttLib import TTFontdef kuaishou(id): headers = { # m端浏览器头,需要cookies但不需要登录,pc两者都要, # 不论是pc端还是m端,都会偶尔弹验证,手动过一下,cookies还能用 'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/M.

2020-07-23 15:22:50 597

原创 Python实现AES加密解密

报错:TypeError: decrypt() cannot be called after encrypt()原因:cryptor不能写在主函数中同时给加密函数与解密函数使用,尽管加密解密都是用: cryptor = AES.new(key, mode, iv),但若将其定义在main并分别传给加密解密同时使用时,会报错。解决:在加密与解密方法分别写cryptor = AES.new(key, mode, iv)报错:ValueError: Incorrect IV l

2020-07-07 15:38:12 4867

原创 MySQL查询:sql语句

两条sql语句组合查询功能:下面代码实现功能为查询is_deleted为1的id最大的一条记录根据id,取该记录后面所有数据sql1 = ''' select max(id) from bilibili_move_house_total_ups_distinct where is_deleted = 1 '''cursor.execute(sql1)results1 = cursor.fetchall()print(results1[0][0])s.

2020-07-07 13:52:42 141

原创 字体反爬虫——58租房

58是一个字体反爬相对简单的网站了,它只对数字进行了反爬处理。适合拿来做字体反爬入门。先上代码,在详细记录,纯小白操作,不怕看不懂啊:import requestsimport base64import refrom fontTools.ttLib import TTFont# 获取参数,这里主要是返回的响应内容,及匹配到的font_face被base64编码的文件def ...

2020-01-03 14:28:03 350

原创 某某文学网站小说爬虫

这个爬虫来自于一个问答贴:看雪论坛:https://bbs.pediy.com/thread-256306.htm吾爱破解:https://www.52pojie.cn/thread-1075559-1-1.html发帖人是一个人。感谢大佬提供技术支持:切丝怕怕:https://bbs.pediy.com/user-733836.htm这大概是我遇见反爬做的,最,那啥的小说...

2019-12-26 17:52:15 24905

原创 知乎首页爬虫

尝试了一下知乎首页爬虫:import reimport requestsfrom urllib import parse首页链接 = []headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/...

2019-12-24 15:41:41 623

原创 解决使用python xxx.py,导入自建模块,出现ModuleNotFoundError: No module named 'XXX'

如果你也有这样的bug,找了很多方法也没解决,不妨看一下。背景:如下图,这是整体我在spider文件夹下的baidu.py调用service里的downloader方法时,如果鼠标右键运行是没有问题的。命令行运行时:出现如下报错。网上相关资料很多,看我一图,就知道我都试过了,依旧无用有用的是import syssys.path.append(’引用模块的路...

2019-12-18 17:12:03 1719

原创 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 363

空空如也

空空如也

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

TA关注的人

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