东华果汁哥
大家好!我叫赖德发,欢迎您来到我的博客。
展开
-
【python 定时任务】Python apscheduler 定时调度框架
然后,我们使用 add_job() 方法添加了一个新的任务,并指定了 ‘cron’ 触发器类型和要执行的小时数和分钟数。然后,我们创建了一个 BlockingScheduler 实例,并调用其 add_job() 方法添加了一个要执行的任务。这里,我们使用 ‘cron’ 触发器类型,并将 minute 参数设置为 ‘*’,表示每分钟都会触发一次。通过学习本文中的示例代码,相信你已经了解了 apscheduler 的基本用法,可以开始编写自己的定时任务了。要使用 apscheduler,你需要先安装它。原创 2023-04-06 11:32:15 · 401 阅读 · 0 评论 -
【股票指标分析 KDJ】量化投资python实时计算KDJ以及MACD
随机指标KDJ一般是用于股票分析的统计体系,根据统计学原理,通过一个特定的周期(常为9日、9周等)内出现过的最高价、最低价及最后一个计算周期的收盘价及这三者之间的比例关系,来计算最后一个计算周期的未成熟随机值RSV,然后根据平滑移动平均线的方法来计算K值、D值与J值,并绘成曲线图来研判股票走势。KDJ指标中文名叫随机指标,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具。离线计算我们下载一个股票数据,然后进行计算。原创 2023-03-16 15:45:21 · 462 阅读 · 0 评论 -
【股票分析包 talib 安装】5分钟教你正确安装python talib库
由于我的电脑是python3.7版本,并且64位,所以选择了标红了文件下载,ctrl+F 搜索关键词:TA_Lib。下载到本地之后,进入下载路径,继续安装。原创 2023-03-13 12:32:44 · 1298 阅读 · 0 评论 -
【股票数据 tushare.pro】python自动下载股票数据tushare
首先需要注册tushare数据网站。原创 2023-03-13 14:46:50 · 233 阅读 · 0 评论 -
【conda 安装虚拟环境失败】CondaHTTPError: HTTP 000 CONNECTION FAILED for url问题
Linux下解决Anaconda出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url问题。再次执行,成功解决。原创 2022-11-22 14:32:04 · 389 阅读 · 0 评论 -
【requets 问题】requests.exceptions.ProxyError异常的问题
requets问题报错:(Caused by ProxyError(‘Cannot connect to proxy.’, OSError(0, ‘Error’)))解决办法:原创 2022-06-02 20:52:57 · 1309 阅读 · 1 评论 -
【fake_useragent 错误】fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
报错信息如下:for item in get_browsers(verify_ssl=verify_ssl): File "/usr/local/python3/lib/python3.6/site-packages/fake_useragent/utils.py", line 97, in get_browsers html = get(settings.BROWSERS_STATS_PAGE, verify_ssl=verify_ssl) File "/usr/local/python原创 2022-05-18 18:18:49 · 320 阅读 · 0 评论 -
【编码与加密】开发中经常用到的编码与加密算法应用
1、base64 编码base64 是基于64个字符而设计的编码系统。一般最后面还有等于==的编码一般想到是的base64编码。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。在编码过程中,如果字符位数少于24位,就会进行特殊的处理,在编码的结果末尾用=符号填充。如下面的例子:# -*- coding: utf-8 -*-from base64 import b64encode,b64decodestr原创 2022-04-03 21:35:03 · 649 阅读 · 0 评论 -
【加密算法 AES256】AES256加密和解密过程
AES是一种对称加密算法,对称指加密和解密使用同一个密钥; 256指密钥的长度是256bit,即32个英文字符的长度;密钥的长度决定了AES加密的轮数# -*- coding: utf-8 -*-from cryptography.hazmat.primitives import paddingfrom cryptography.hazmat.primitives.ciphers import algorithmsfrom Crypto.Cipher import AESfrom binasci原创 2022-03-30 21:15:47 · 12158 阅读 · 0 评论 -
【selenium 模拟拼图】滑动拼图验证码10分钟教程
【滑动验证码 selenium】滑动验证码模拟滑动上文中得滑动验证码,滑动距离是固定的。下面我们介绍随机滑动距离的破解方法。滑动拼图验证码中,目标位置是随机的,要将指定的缺块滑到缺口处,才能通过验证。大概思路是从css 属性left 获取滑块和滑轨的长度,动态计算滑动距离。from selenium import webdriverbrowser = webdriver.Chrome()# 驱动Chrome浏览器打开滑动验证码示例页面browser.get('http://www.porte原创 2022-03-29 10:59:27 · 2565 阅读 · 0 评论 -
【滑动验证码 selenium】滑动验证码模拟滑动
滑动验证码属于行为验证码,需要通过人为滑动指定的滑块才能通过验证滑块会有起点与终点,相比“眼睛”来说,手动的耗时更长类似这种滑动,如何模拟点击滑动,计算滑动距离呢?点击network ,CSS,我们找到一个slide.css 文件,/* 滑动验证码 */.tracks{ width: 390px; height: 40px; background: #d0c4fe; overflow: hidden; border: 1px solid #c5c5c5;原创 2022-03-26 11:12:36 · 1643 阅读 · 0 评论 -
【字符验证码识别】验证码识别方法解析
字符验证码主要以数字和英文字母为主,辅以部分干扰线和彩色噪点,并且对字符元素使用随机颜色,甚至是角度倾斜。方法1:我们用ddddocr 大法 直接可识别此验证码。其实针对这种简单的验证码足以应对。import ddddocrsave_path = 'D:/Programs/爬虫项目/字符验证码识别/'if not os.path.exists(save_path): os.makedirs(save_path)ocr = ddddocr.DdddOcr(old=True)with o原创 2022-03-22 08:14:27 · 1669 阅读 · 0 评论 -
【手机抓包 charles 】charles下载安装教程
Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。Charles的主要功能:(1)截取Http 和 Https 网络封包。(2)支持重发网络请求,方便后端调试。(3)支持修改网络请求参数。(4)支持网络请求的截获并动态修改。(5)支持模拟慢速网络。一、官方网站下载:官网下载地址二、在原创 2022-03-11 20:16:02 · 1810 阅读 · 0 评论 -
【webdriver 识别】webdriver 识别绕过原理与实战
目标网站:http://www.porters.vip/features/webdriver.html获取 点击查看详情里面的内容我们先用selinum 试试,直接定位按钮,渲染出来。# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsimport timeChrome_path='D:/Programs/Python/Pytho原创 2022-03-06 22:18:36 · 479 阅读 · 0 评论 -
【pyppeteer 截图神器】发起异步请求并截图转换成PDF
pyppeteer 很强大。这里介绍两个简单又实用的功能,第一可以对网页url 内容截图,第二可以转换成PDF文件。例子:# -*- coding: utf-8 -*-import asynciofrom pyppeteer import launchimport ossave_path='D:/Programs/爬虫项目/pyppeteer学习/temp/'if not os.path.exists(save_path): os.makedirs(save_path)a原创 2022-03-06 20:26:34 · 498 阅读 · 0 评论 -
【字体反爬虫】woff字体反爬虫实战
目标:http://www.porters.vip/confusion/movie.html目标是抓取用户评分,评分人数,累计票房,三个字段。简单一看很简单是不是,我们查看源代码,发现不是那么容易。跟我们看到的并非如此啊。这是什么操作,仔细分析网络请求,我们发现这是使用了字体反爬虫的技术,那么我们如何破解呢?首先我们得用网络请求这个字体文件,然后下载下来。woff_url = 'http://www.porters.vip/confusion/font/movie.woff'woff = r原创 2022-03-05 22:31:07 · 484 阅读 · 0 评论 -
【文本混淆反爬虫】五分钟带你了解图片伪装反爬虫
图片伪装指的是将带有文字的图片与正常文字混合在一起,已达到鱼龙混珠的效果。如电话号码用图片表示,而不是数字。下面我们以一个例子来讲解下。目标网站:http://www.porters.vip/confusion/recruit.html爬取目标:爬取企业名称和电话。这里的电话通过源代码分析是个图片,可怎么办呢,我们想到用ocr的方法去识别。这里我们用ddddocr 神器直接识别。这个电话图片还是比较规则的。# -*- coding: utf-8 -*-import requestsimpo原创 2022-02-28 22:22:23 · 254 阅读 · 0 评论 -
【爬虫渲染神器】selenium 和pyppeteer 的动态渲染ajax反爬虫
许多网页是动态加载的网页,其中不乏使用了ajax异步技术,那么我们有没有一种渲染工具,直接省略分析过程,模拟浏览器渲染的操作呢,获取到我们想要的内容。当然有,下面我们介绍两种渲染工具的实战使用。目标网站:http://www.porters.vip/verify/sign/点击参看详情页的里面内容。前一篇文章,我们介绍了,js逆向分析两种方法,也是能获取详情页,今天我们依然介绍两种渲染神器,也能获取详情页的内容。神器一:selenum# -*- coding: utf-8 -*-from s原创 2022-02-27 23:27:21 · 689 阅读 · 0 评论 -
【爬虫神器 pyppeteer】比 selenium 更高效的爬虫利器--pyppeteer
Puppeteer 是 Google 基于 Node.js 开发的工具,调用 Chrome 的 API,通过 JavaScript 代码来操纵 Chrome 完成一些操作,用于网络爬虫、Web 程序自动测试等。pyppeteer 使用了 Python 异步协程库 asyncio,可整合 Scrapy 进行分布式爬虫。要注意的是它执行python3.6+以后版本使用,下面我们一起来了解下如何使用。安装:pip install pyppeteer说明:当你第一次运行 pyppeteer 时,它会下载原创 2022-02-27 10:33:20 · 1478 阅读 · 0 评论 -
【JS逆向--签名验证反爬虫】sign签名验证破解实现方式
目标:爬取http://www.porters.vip/verify/sign/ 详情公告点击network ,分析网络请求,发现一个http://www.porters.vip/verify/sign/fet?actions=34416&tim=1645886772&randstr=LSUBB&sign=bdbe0235918f5a6b54351915a8edf741这个链接有我们想要的内容这个url 是一个get请求,包含4个参数。其中action 看起来是5个原创 2022-02-26 22:55:53 · 1389 阅读 · 0 评论 -
【node.js 环境配置】爬虫必备-10分钟教你配置node.js环境
Node.js® 是基于Chrome 的 V8 JavaScript 引擎构建的 JavaScript 运行时。下面我们一起来安装。下载地址:https://nodejs.org/zh-cn/download/windows 安装,点击下载下来的node-v16.14.0-x64.msi 文件,进入安装界面。这里改成D盘。点击next勾选,点击next,最后进入安装。再次打开cmd ,命令:安装成功!...原创 2022-02-26 22:32:24 · 7750 阅读 · 0 评论 -
【马蜂窝 加速乐cookie】一次坑爹的获取html源代码不到之路
本次想爬取马蜂窝一篇游记的内容,页面地址:http://www.mafengwo.cn/i/21870682.html网页看起来很简单,暂时没毛病。我们发起requests请求,去获取源代码,进行解析,带上伪装的浏览器请求头,发送get请求,获取html源码# -*- coding: utf-8 -*-import requestsfrom fake_useragent import UserAgent# 随机获取User-Agentdef get_random_ua(): ua原创 2022-02-19 11:45:51 · 368 阅读 · 0 评论 -
【ja3 指纹算法】JS逆向之ja3指纹算法
ja3 官方:https://ja3er.com访问这个网站:https://ja3er.com/json你会看到类似如下的返回json字段结果,这就是著名的ja3算法加密后的结果。那么这个ja3究竟是何方神圣,有什么神秘之处呢?{"ja3_hash":"b32309a26951912be7dba376398abc3b", "ja3": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,原创 2022-01-22 11:55:25 · 1758 阅读 · 1 评论 -
UnicodeEncodeError: ‘gbk‘ codec can‘t encode character解决方法
关于requests库请求后,出现编码错误的问题。其实问题的关键点就是在于编码和解码的问题,首先要确定网站的编码方式,剩下的就是自己电脑中的Pycharm编码设置的问题了。代码是没毛病的,而且网页的编码就是utf-8,编码没问题,那么只能是Pycharm中的编码设置的问题了。在setting里边指定编码为utf-8,就可以解决问题了...原创 2022-01-15 13:28:52 · 1411 阅读 · 0 评论 -
【cookieJar 保持会话】Python中用requests处理cookies的方法
我们经常用的requests 神器可以轻松获取到cookie,如何持续保持么?传递到下一个请求页面中去。获取返回的cookiejar对象,由于返回的值比较难以处理所以将cookiejar转换成字典形式,cookiejar转换为字典形式的数据# -*- coding: utf-8 -*-import requestsresponse=requests.get("http://www.baidu.com")print(response.content)#获取返回的cookiejar对象,由于返回的原创 2022-01-12 20:33:57 · 475 阅读 · 0 评论 -
【浏览器请求头问题】fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
随机获取一个浏览器请求头,失败# -*- coding: utf-8 -*-from fake_useragent import UserAgent# 获取User-Agentdef get_random_ua(): ua = UserAgent() return ua.randomif __name__ == '__main__': ua=get_random_ua() print(ua)报错信息如下:fake_useragent.errors.Fak原创 2022-01-04 09:52:09 · 533 阅读 · 0 评论 -
【python 常用加密算法】加密算法实现集合代码片段整理
1、md5加密from hashlib import md5r='hello world!'s=md5()#md5的加密串必须为字节码s.update(r.encode())# 16进制加密sign=s.hexdigest()print(sign)运行结果:fc3ff98e8c6a0d3087d515c0473f8677Process finished with exit code 02、sha1 加密import hashlibsha1 = hashlib.sha1()原创 2022-01-02 12:45:55 · 261 阅读 · 0 评论 -
【网页保存为PDF】pdfkit神器网页自动保存PDF文件
快速入门,把一个网页链接,一个静态网页等转成pdfwkhtmltopdf主要用于HTML生成PDF。pdfkit是基于wkhtmltopdf的python封装,支持URL,本地文件,文本内容到PDF的转换,其最终还是调用wkhtmltopdf命令。先安装wkhtmltopdf,再安装pdfkit步骤1:wkhtmltopdf安装下载地址:官方下载下载好wkhtmltox-0.12.6-1.msvc2015-win64.exe文件,然后安装成功。安装pdfkitpip install pdfk原创 2021-12-23 17:03:18 · 1331 阅读 · 0 评论 -
【js 逆向分析】JS爬虫逆向之汽车之家
今天主要是研究汽车之家在登录时的password加密方法,并通过python调用js的方式运行出加密结果。汽车之家的登陆验证url,通过分析network 是一个网页请求如下的post请求https://account.autohome.com.cn/Login/ValidIndexFormFata 表单如下:loginfrom: poploginname: xxxxxpwd: e10adc3949ba59abbe56e057f20f883eisauto: truefPosition: 0原创 2021-12-22 15:00:05 · 701 阅读 · 0 评论 -
【gne 文本预处理】python正文提取方法GeneralNewsExtractor
GNE是一个准确率高达99.9%的新闻类网页通用抽取器。有了这个神器,我们不再需要xpath写来写去,这适合通用的新闻资讯类网页正文内容提取。下面我们以南方周末,一个网页例子为说明。http://www.infzm.com/contents/220580GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容、标题、作者、发布时间、正文中的图片地址。GNE在提取今日头条、网易新闻、游民星空、 观察者网、凤凰网、腾讯新闻、ReadH原创 2021-12-22 11:00:21 · 1078 阅读 · 0 评论 -
【python 爬虫图】两个超详细的python爬虫技能树
原创 2021-12-21 16:46:21 · 773 阅读 · 0 评论 -
【python 反爬虫JS】反爬虫JS分析
有道翻译是以异步方式实现数据加载的,要实现对此类网站的数据抓取,其过程相对繁琐,涉及到JS表单加密。分析post请求表单数据如下:并发现以下了规律:salt、sign、lts 总是变化的,而 bv 等其他参数是不变化的。其中 lts 代表毫秒时间戳,salt 和 lts 之间存在着某种关联,因为两者只有最后一个数字是不同的;而 sign 对应的值是一个加密后的字符串。搜索salt 找到了fanyi.min.js 这个js文件影藏了大密码如果想要实现实时地抓取翻译结果,就需要将 salt 和 si原创 2021-12-13 23:54:41 · 795 阅读 · 0 评论