Zeno

滑块只能用selenium——路飞学城金角大王Alex

昨晚因为一个人, 一场直播, 直接把半个爬宠圈热闹起来. 原因是因为路飞学城的金角大王Alex在某音直播卖课. 娴熟的捧一踩一手法. 惯例的用一些很多人都知道的大厂作为学习目标, 并且跟别人说这个这个多简单. 我在弄Akamai等之类的来让别人觉得多牛逼.

之前其实也有人跟我说过抖音有一个xxx在直播吹牛逼. 我也没怎么注意, 但是知道是路飞学城里面的人. 昨天一个朋友又跟我推他的直播, 就进去看了一下. 没想到还真上头. 越看越兴奋(看智障的目光)

https://video.zhihu.com/video/1464166599741161473?player=%7B%22autoplay%22%3Afalse%2C%22shouldShowPageFullScreenButton%22%3Atrue%7D

我一个爬虫小白渣渣都知道滑块是可以协议过的, 一个自称12年就开始教python的 还要卖课, 教人的, 居然说滑块只能selenium模拟过??? 直接就给爷整笑了

到了半夜十一点多的时候, 要离开换人之前, 还要隔空diss其他人……(科班都不是, 搞什么爬虫)——所以, 我们不是科班报什么班, 说白了还是我不配

3998的课程, 有22个案例. 直接从入门到爬虫天花板… 这句话让我意识到原来我距离天花板就是差22个案例. 这22个案例公开出来是不是要人均阿卡迈了

早上还在群里疑似承认了自己’割韭菜’???

不说了 赶紧去专研一下selenium过滑块吧. 顺便再去读一个计算机. 免得被人说 科班都不是, 搞什么爬虫.. 你们一班自以为是的loser

Posted in 随便说Tagged , Leave a Comment on 滑块只能用selenium——路飞学城金角大王Alex

python爬取百度搜索链接

今日分享的是一个利用python的BaidySpider库实现的百度搜索爬取

关键词自己在query那边修改就好了, 目前提取了的就只有百度的链接, 如果需要其他信息, 可以自己打断点对其他数据也清洗入库即可

 

Posted in 随便说Leave a Comment on python爬取百度搜索链接

AST对抗某网站的Js抽取型混淆

因为网站比较敏感, 所以具体网站就不说了, 直接说逻辑部分

为了降低数据提取的错误率, 所以使用了python的slimit库对js代码进行提取处理

对网站源码的JavaScript进行分析后, 发现在其中一个script标签内的js代码是利用抽取混淆的, 并用flashvars开头的变量存储

 

首先用python将该js代码进行提取

将该部分代码格式化后可以看到键名为mediaDefinitions的值是数组, 数组内存储着videoUrl

在这里可以看到, 链接是被抽取的进行拼接后即可还原真实地址

下面会使用到python的slimit库的ast进行还原

通过smlit的Parser类的parse方法, 对js代码转换为ast结构树

获取到结构树后, 需要自定义类, 并继承ASTVisitor, 自定义访问者遍历节点对节点进行抽取

下面代码我先对mediaDefinitions和qualityItems对象进行抽取还原

还原mediaDefinitions和qualityItems对象后, 继续创建访问者对抽取链接进行还原

进入的节点仍然是VarStatement, 因为视频的链接由多个变量并且不定数量进行拼接, 所以下面使用递归方式并使用了get_Identifier方法对抽取变量进行获取还原

下面是完整代码:

 

Posted in 随便说Leave a Comment on AST对抗某网站的Js抽取型混淆

[python] Django宝塔线上部署踩坑记录

原本的Django本地运行的时候是正常的, 当部署线上的时候就一大堆问题出现了.

因为我对Linux并不熟悉, 所以就选择了宝塔的python项目管理器来部署

在部署上线之前, 要添加几个文件.

常规的要在项目根目录加上uwsgi.ini文件, 文件内容如下

以上内容需要注意的是, wsgi-file填写的是wsgi.py文件的绝对路径加上文件夹名字. 网上很多都是只填路径的, 部署后会直接报错. 而wsgi.py是Django在建项目的时候就自带了的, 不需修改

部署成功之后, 如果有域名可以映射到域名上, 点击上面的映射填上域名即可, 映射成功之后可以使用域名访问

如果有使用Django自带的admin后台, 会发现项目部署后admin后台的样式会没了. 找了好几天百度都没有解决, 后来还是看官方文档解决的…

首先是要在settings.py下加上STATIC_ROOT, 然后在这个路径下手动创建一个static文件夹

然后再去主app下的urls.py修改以下代码

修改完之后去服务器切换到你Django所使用的python环境, 去到你Django项目的目录, 然后运行以下命令

官方文档链接: https://docs.djangoproject.com/zh-hans/3.2/howto/static-files/

注: 记得每次修改后重启一下服务才能生效

Posted in 随便说Tagged , Leave a Comment on [python] Django宝塔线上部署踩坑记录

某车号标准加密

这次分析的是某车号的一个列表请求头参数加密

网站: aHR0cHM6Ly9oYW8ueWljaGUuY29tLw==

接口: aHR0cHM6Ly9oYW8ueWljaGUuY29tL3NpdGVfd2ViL2hhby9hcGkvZ2V0X2xhdGVzdF9hcnRpY2xlX2xpc3Q=

参数分析:

初步抓包发现部分可疑参数:

x-sign: 目测疑似md5加密

CIGUID, UserGuid,x-user-guid: 相等, 看似uuid之类的随机生成id

至于其他的x-city-id, x-ip-address应该是记录该次请求的ip和ip所在地域, 其他参数并无可疑之处

直接全局搜索x-sign之后只有一个结果, 点击进去查看发现就只有一个地方有x-sign:

打断点后重新发起请求发现r值是32位大写的字符串, 并且下面的sign加密是需要用到该值的, 所以需要分析r值的获取方法

分析o的方法之后 发现这个值可以固定, 是由e.headerEncryptKeys对象里面根据请求头的x-platform获取的不一样的固定值, 因为他的默认请求是phone所对应的value所以r就可以固定为该值

u值就是由字符串拼接而成的, e.cid也是固定默认值601, i是请求体的json格式, r是上面所获得的固定值, e.timestamp自然就是13位的时间戳

u值获取之后, 就到了下面的yicheUtils.md5方法, 看名字是md5, 但是需要验证一下是否md5和是否标准加密. 可以在console里面试一下加密固定值的md5(例如123456) 是否跟标准md5加密一致

确认是标准md5加密算法, 本次分析完毕.

再加一句, 里面的x-user-guid其实是随机的py的uuid随便搞

Posted in 随便说Tagged , Leave a Comment on 某车号标准加密

Stative Verbs Used in the Continuous Form

Some verbs describe a state (and are known as stative), and they aren’t usually used in the continuous (or progressive) form. These verbs include know, believe, like, recognize, etc.

 

These verbs are not used in the continuous form because the state lasts for a longer period of time, is not an action, and does not have a definite start or finish.

 

I like classical music. (NOT I’m liking classical music.)

I believe in you. (NOT I’m believing in you.)

 

We can use some stative verbs like feel, look, hear, taste, see in the continuous form when describing an action or where there is a clear beginning and end.

 

I feel good doing this. (sense / state)

I’m not feeling well. (action with a clear beginning and end)

 

I hear a lot of noise. (sense)

I’m hearing a lot of noise. (action with a clear beginning and end)

 

I can see him. (sense)

I’m seeing him tonight. (action to meet someone with a clear beginning and end)

 

I think it’s a good idea. (sense / state)

I’m thinking of moving. (action of trying to reach a decision with a clear beginning and end)

 

I can taste cinnamon. (sense)

I’m tasting the dessert. (action of tasting with a clear beginning and end)

 

You look good. (sense)

I’m looking for a new job. (action of searching for something with a clear beginning and end)

Posted in 随便说Leave a Comment on Stative Verbs Used in the Continuous Form

【Python】爬虫(Xpath):批量爬取站长免费简历

批量爬取站长免费简历, 可以自行选择爬取页数.

 

 

Posted in 随便说Tagged , , Leave a Comment on 【Python】爬虫(Xpath):批量爬取站长免费简历

【Python】爬虫(Xpath):批量爬取站长免费PPT模版

本来是打算写一个异步爬取的,但是暂时还没有发现是什么问题 好像没有实现异步

 

 

Posted in 随便说Tagged , , , , , Leave a Comment on 【Python】爬虫(Xpath):批量爬取站长免费PPT模版

【Python】爬虫(Xpath):批量爬取彼岸图网4K图(非真正4K)

因为真正的4K图需要登录,并且登录后一天也就只能下载一张,所以就只解析爬取了内容页的高清图片(1200*633左右)

代码实现了我目前所能想到的用户骚操作的判定,例如选择的类目不在这个网站内, 或者这个类目没有那么多页之类的 废话不多说直接上代码吧

 

Posted in 随便说Tagged , , Leave a Comment on 【Python】爬虫(Xpath):批量爬取彼岸图网4K图(非真正4K)