反爬通过
anti-bot bypassing,
测试反爬通过手段nowSecure
spiderbuf
测试playwright会被nowSecure检测吗codegen过不了“确定你是真人”
反反爬措施:ZenRows APIZenRows 基于 API 的反机器人绕过解决方案是网络爬虫和网络爬虫评价最高的解决方案之一。
它的工作原理是对一系列反机器人解决方案进行 API 调用,并提供轮换代理、自定义标头、WAF 绕过和 CAPTCHA 绕过工具等解决方案。
反爬原理和反反方法限制访问速度/用户限制访问速度不高于阈值,如果高于则封ip或者返回错误值;如果某用户异常,则禁止用户访问
应对限制访问速度
12import timetime.sleep(1)
身份反爬行为特征反爬数据加密反爬防盗链盗链是指在自己的页面上展示一些其它服务器上的内容,使用别人的图片、 音乐、视频、软件等资源。通过盗链可以减轻自己服务器的负担,增加它人服务器带宽等费用。
防盗链通过Refer或者签名检查阻止盗链行为,如果不是跳转而是直接打开会显示403即无权限,有时我们单独打开网页上图片发生403就是这个情况。
...
ffmpeg的使用
(TODO)
下载步骤
官网下载二进制包
添加环境变量
(optional)安装ffmpeg-python库
下载二进制包:看到下载页面眼睛都花了,有essential和full版本:essential就是简版,只包含ffmpeg.exe、ffplay.exe、ffprobe.exe, 而full版本就包含了动态库和相关头文件,方便我们在开发中调用。
添加环境变量 : 将bin目录的全路径添加到环境变量PATH
测试ffmpeg1ffmpeg –version
也可以用ffplay播放视频看看
安装ffmpeg-python库1pip install ffmpeg-python
conda 也可以
测试ffmpeg-python使用ffmpeg的使用Documentation (ffmpeg.org)
合并视频和音频12ffmpeg -i 视频文件 -i 音频文件 -c:v copy -c:a aac -strict experimental output.mp4ffmpeg -i video.mp4 -i audio.mp4 -c copy output.mp4
合并ts视频1f ...
repr和str
repr() 和 str() 都是 Python 中的内置函数,它们用于将对象转化为字符串。但两者的应用场景和返回结果有所不同。
str() 给用户看;repr给开发者看,更原始,通常在交互式环境下或者使用repr()函数时也会被调用,利于调试。
自写的重构方法__repr__和__str__完全取决于自己怎么写
123456789101112131415s="物品\t单价\t数量\n包子\t1\t2"m='123'print(s)print(repr(s))print(m)print(repr(m))# 物品 单价 数量# 包子 1 2# '物品\t单价\t数量\n包子\t1\t2'# 123# '123'
可以看到,repr自动不转义,表现了字符串的类型,保持原始
requests库和python中XPath
典例
1234567891011121314151617import requestsurl='www.example.com'headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0', 'referer':url}with requests.get(url=url,headers = headers) as response: if not response.ok: print('request error!') else: data2 = response.text print(data2) try: data = ...
重拾vim
vimvim是编辑器的一把利器,但是因为新手用起来确实不太方便,要记很多指令,而且还有经常搞不清楚的几种编辑模式,但是深入过后确实有时觉得好用。
vim或者vi不依赖于编辑器,vscode等IDE也有对应的插件
大概在几年前接触了,中间因为各种原因没有用,现在编程代码量要求越来越高,于是决定重新拾起来,可惜之前的笔记不太好找了,于是重新写在下面。
用不用vim取决于代码量、兴趣和记忆
四种模式和模式切换在 Vim 中,有以下几种模式:
普通模式(Normal mode):这是 Vim 默认的模式,用于输入文本和执行命令。
插入模式(Insert mode):在该模式下,可以输入文本并使用鼠标选择、复制和粘贴等操作。
可视模式(Visual mode):在该模式下,可以选择一行或多行文本进行操作。
命令行模式(Command-line mode):在该模式下,可以输入各种命令来控制 Vim。
普通模式是最基础的模式,模式切换都要涉及普通模式,以下是在不同模式之间切换的方法:
从普通模式切换到插入模式:按下 i 键。
从插入模式切换到普通模式:按下 Esc 键。
从普通模式切换到可视 ...
我的个性化搜索
https://programmablesearchengine.google.com/
123<script async src="https://cse.google.com/cse.js?cx=d53a5bff4bf734a99"></script><div class="gcse-search"></div>
https://cse.google.com.hk/cse?cx=d53a5bff4bf734a99
Github搜索
https://blog.csdn.net/weixin_50337833/article/details/116598988
拓展名
Python-Test那些事
https://blog.csdn.net/chuntingting/article/details/127192385
指定要测试的文件夹或文件,直接将路径写为第二个参数
文件夹
1pytest .\test\test_get_baidu_newsL\
文件
1pytest test_1.py
函数-k
1pytest -k test_add_a_todo_item
并行测试
1pytest --numprocesses 2
给测试传参:
Playwright安装及常用函数
发展selenium->cypress、puppeteer、testcafe->playwright
Get StartedInstallation | Playwright Python
我用的conda
12345678conda create -n env4prconda activate env4prconda config --add channels conda-forgeconda config --add channels microsoftconda install playwrightplaywright installconda install -c microsoft pytest-playwright
创建测试文件test_example.py
123456789101112131415161718import refrom playwright.sync_api import Page, expect def test_has_title(page: Page): page.goto("https://playwright.d ...
git
git 流程+Cheatsheetgit proxyconfig12git config --global http.proxy http://127.0.0.1:7890git config --global https.proxy https://127.0.0.1:7890
showbash12git config --list|grep http.proxygit config --list|grep https.proxy
more ref
gitkeepgit默认不会跟踪空文件夹,因此需要.gitkeep,.gitkeep 是一个通常在 Git 仓库中使用的、放在空文件夹的空文件,它的主要目的是确保某个目录不会被意外地从版本控制中删除。由于 Git 不会跟踪空目录,因此通过在目录中放置一个 .gitkeep 文件,可以确保该目录始终保留在 Git 的历史记录中。这个文件通常用于以下几种情况:
维护必要的空目录:有时,项目需要一些空目录来满足特定的结构或配置要求。.gitkeep 文件可以确保这些目录不会被忽略。
防止目录被删除:在团队协作中,如果一个成员不小心删除了某个目录 ...