Python爬虫实现无限刷不背单词app的酷币!很有意思!

用Python打造智能家居机器人:零基础入门到语音控制实战 编程入门的关键在于即时反馈与持续成就感,而智能硬件恰好提供了从代码到物理世界的直接映射。通过Python控制开发板上的GPIO引脚,初学者可以快速理解程序如何驱动真实设备——读取传感器数据、执行条件判断、触发继电器动作。这一过程不仅覆盖变量、循环、函数与异常处理等核心语法,还能深入接触物联网、语音识别与网络通信等热门技术。以温湿度监测、自动开关灯、远程Web控制为典型场景,硬件选型与软件架构逐步演进,最终沉淀为可复用的工具库。从点亮一盏LED到搭建完整语音控制链路,零基础者亦能在动手实践中掌握工程化思维。本 阅读详情

免责声明:项目只供学习交流使用,请勿商用,商用违法,刷币有封号危险!!! 大家尽量支持正版!!!!

作者:小成Charles 原创作品 转载请标注原创文章地址:https://blog.youkuaiyun.com/weixin_42999453/article/details/111321299

一、引言

因为考研用到了不背单词app,这个软件做的还是很好的所以就入手了,但是缺点就是里面有一些扩展功能和单词书需要花钱买,内购项目可以用酷币抵用,然后就萌生刷酷币的想法。app中分享的连接只要有一个新用户点进去你就会获得一定量的酷币,因为用户不涉及到账号的登录,所以思路就很简单了,用pyt脚本实现模拟请求链接就可以啦,于是顺着这个思路写了下去。先来成功截图 话不多说,先上成功截图 PS:如学Python遇到问题,需要一系列资料,一个同行交流解答群点击下方字体即可

python免费学习资料以及群交流解答点击即可加入

 

二、 直接进行Request请求

代码如下

url = 'https://learnywhere.cn/bb/activity/article/2020/0619/news' \
          '?key=108039b518584c6cacafaafa7712bec4&feat=u47617382&sha' \
          're_platform=wechat&show_user_info=1'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (K'
                      'HTML, like Gecko) Chrome/13.0.782.41 Safari/535.1 QQBrowser/6.9.11079.201',
    }
        response = requests.get(url, headers=headers)
        print(response.text)

代码设置了浏览器标签,模拟浏览器访问,运行结果大致如下:

d=app></div><script>!(function (a, b) {
        if (!b.__SV) {
          var c, d, e, f;
          (window.dplus = b),
            (b._i = []),
            (b.init = function (a, c, d) {
              function g(a, b) {
                var c = b.split('.');
                2 == c.length && ((a = a[c[0]]), (b = c[1])),
                  (a[b] = function () {
                    a.push([b].concat(Array.prototype.slice.call(arguments, 0)));
                  });
              }.....

然后发现账号的酷币没有任何变化,即使是新设备也毫无作用,然后分析了一下,这个实现的过程是先通过JavaScript渲染的过程,然后通过Ajax从服务器获取数据并判断当前设备是否为新设备,那么request请求是肯定不可用的,于是就想到用selenium来进行渲染获取数据

三、利用selenium和ChormeDriver进行JavaScript渲染

首先安装selenium和ChormeDriver,具体方法请网上查询,不在赘述。 前期准备: 这里我们尽量准备大约一千个‘User-Agent’用来添加到headers,这里直接在网上找个在线生成器就可以(网上一大堆),然后我方便测试就放在一个txt文档如图所示一大堆

然后此代码块实现读取并存到数组中,并随机获取一个agent:

def get_agen_list():
    with open("D:/0DESK/UserAgentList.txt", 'r') as file_to_read:
        while True:
            lines = file_to_read.readline()
            if not lines:
                break
                pass
            listAgent.append(lines)
            pass
    print(len(listAgent))

get_agen_list()
# 随机获取一个agent
USER_AGENT = listAgent[random.randint(0, 999)]

接下来就是实现渲染了,执行一下代码就可以发现界面显示你是新用户,然后app中的酷币也相应的增加了:

chrome_options = Options()
    chrome_options.add_argument("--User-Agent="+USER_AGENT)
    browser = webdriver.Chrome(chrome_options=chrome_options)
    browser.get('https://learnywhere.cn/bb/activity/article/2020/0619/news?key=0926438a01e84a34bb1823447ddb007f&feat'
                '=u47617382&share_platform=wechat&show_user_info=1')

其实到这里就基本可以了,但是经测试,同一个IP请求次数过多就会出现你是老用户,大多数网站都会这样的,对付这样的措施我们可以利用代理IP进行访问,实现方法就是给option添加add_argument

四、添加代理IP访问

–以下文章借鉴崔庆才的《Python3 网络爬虫开发实战》 代理IP就可以反IP检测系统了,代理IP可以使用免费的也可以收费的,当然收费的质量很高,更加稳定一些,如下代码实现代理添加的方式,如果你的代理IP是没有账号密码的可以这样:

from selenium import webdriver

proxy = '127.0.0.1:9743'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://' + proxy)
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('http://httpbin.org/get')

在这里我们通过 ChromeOptions 来设置代理,在创建 Chrome 对象的时候通过 chrome_options 参数传递即可。 这样在运行之后便会弹出一个 Chrome 浏览器,访问目标链接之后输出结果如下:

{
  "args": {}, 
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate", 
    "Accept-Language": "zh-CN,zh;q=0.8", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
  }, 
  "origin": "106.185.45.153", 
  "url": "http://httpbin.org/get"
}

可以看到 origin 同样为代理 IP 的地址,代理设置成功。 如果代理是认证代理,则设置方法相对比较麻烦,方法如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import zipfile

ip = '127.0.0.1'
port = 9743
username = 'foo'
password = 'bar'

manifest_json = """
{
    "version": "1.0.0",
    "manifest_version": 2,
    "name": "Chrome Proxy",
    "permissions": [
        "proxy",
        "tabs",
        "unlimitedStorage",
        "storage",
        "<all_urls>",
        "webRequest",
        "webRequestBlocking"
    ],
    "background": {
        "scripts": ["background.js"]
    }
}
"""

background_js = """
var config = {
        mode: "fixed_servers",
        rules: {
          singleProxy: {
            scheme: "http",
            host: "%(ip)s",
            port: %(port)s
          }
        }
      }

chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});

function callbackFn(details) {
    return {
        authCredentials: {
            username: "%(username)s",
            password: "%(password)s"
        }
    }
}

chrome.webRequest.onAuthRequired.addListener(
            callbackFn,
            {urls: ["<all_urls>"]},
            ['blocking']
)
""" % {'ip': ip, 'port': port, 'username': username, 'password': password}

plugin_file = 'proxy_auth_plugin.zip'
with zipfile.ZipFile(plugin_file, 'w') as zp:
    zp.writestr("manifest.json", manifest_json)
    zp.writestr("background.js", background_js)
chrome_options = Options()
chrome_options.add_argument("--start-maximized")
chrome_options.add_extension(plugin_file)
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get('http://httpbin.org/get')

在这里需要在本地创建一个 manifest.json 配置文件和 background.js 脚本来设置认证代理,运行之后本地会生成一个 proxy_auth_plugin.zip 文件保存配置。 运行结果和上例一致,origin 同样为代理 IP。

五、扩展

如果出现以下截一图就说明当前刷币成功,因为你是新用户

 

然后我们同过检查NetWork下的XHR可以发现网页请求的过程,在report…那一列中我们点击Preview可以发现newDevice的数量为1,说明当前系统判断为新设备,就是成功成功了,如果你想更完善程序的话,可以通过Ajax获取此数据,来进行判断当前请求是否成功


 

 

《Python3案例和总结》-专栏介绍和目录 本专栏专注于Python基础和进阶的系统讲解,逐步深入实际应用场景到python高级特性,让你轻松学会用Python解决各种实际问题。不管是零基础还是有经验的开发,相信都能从本专栏获益。 阅读详情

相关推荐

samp14_2TCP.zip

1.tcp的server和socket两个端,分两个程序运行,可以直接在输入框改IP的地址 2.实现了TCP和IP的网络通信协议,只支持信息传输,就是文字传输协议 3.属于一个测试的demo

实现在hexo博客首页展示不背单词的学习数据

实现在hexo博客首页展示不背单词的学习数据

zheep1209的博客 667

告别ROS1思维:在ROS2 Humble上,用Python搞定MoveIt2机械臂控制的完整流程

本文详细介绍了在ROS2 Humble环境下使用Python控制MoveIt2机械臂的完整流程。从环境配置、架构变革到实战操作,涵盖URDF适配、Action接口编程及性能优化技巧,帮助开发者高效迁移ROS1项目至ROS2平台,实现工业级机械臂控制。

weixin_30352645的博客 449

vc6开发一个抓包软件_惊奇软件[21]:这是一个程序员开发的背单词网站,可好用了!...

惊奇软件未经授权禁止转载正文---------------------------------哔哩哔哩小破站的UP主们就是厉害......就在前几天,小编我想找一款背单词的软件(某百词用的有点腻),想到哔哩哩哩上的朋友们都比较年轻,喜欢学习,我就上哔哩哔哩搜索,看能不能找到一款好用的背单词软件。这不,我就找到了一款很好的背单词软件(网站),并且还是一个程序员一个人开发的UP主在视频中说,...

weixin_39752941的博客 355

ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法

在ubuntu20.04上安装成功,亲测有效 目录ubuntu打实时内核补丁教程1、下载实时内核2、解压和打补丁(patch)3、安装依赖和编译安装4、修改一些文件,便于之后切换内核5、重启电脑实时内核版本下安装nvidia显卡驱动的问题1、先切换回之前的内核(非实时)版本2、重装之前内核(非实时)版本下的显卡驱动3、切换回实时内核(按照上面的步骤)4、在实时内核下安装显卡驱动 ubuntu打实时内核补丁教程 安装目标系统:ubuntu20.04 电脑配置:i9,2080ti 1、下载实时内核 打开终端,输

weixin_39275295的博客 7995

【pprof】简要学习教程

基本介绍 pprof 是在做性能优化前的性能分析工具。 安装: go get -u github.com/google/pprof 分析工具 go tool pprof 是命令行指令,用于分析 Profiling 数据,源数据可以是 http 地址,也可以是已经 dump 下当 profile 文件;查看模式可以命令行交互模式,也可以是浏览器模式(-http 参数)。 两种应用 服务型应用 _ "net/http/pprof" 包,专用于采集 web 服务 运行数据的分析。即在运行的服务中通过 API .

码农印象 883

用AI背单词神器:不背单词网页版智能学习法

这个功能最让我惊喜。后台用Node.js实现了记忆模型,MongoDB会记录每个单词的最后学习时间和记忆强度,每次打开网页都能看到系统智能推送的待复习单词。这个工具会用GPT模型为每个单词生成3-5个不同场景的例句,比如"compile"这个单词会同时出现编程场景的"compile code"和日常场景的"compile a list"。这种AI+教育的工具确实改变了我的学习方式,技术上也展示了现代Web开发的典型架构。如果你也在找高效的单词记忆方案,不妨体验下这个智能学习系统,相信会有意想不到的收获。

NightshadeRaven21的博客 1646

GaN制备micro-led(一)

随着第三代半导体 GaN 材料的快速发展,GaN 基 LED 发展迅速并广泛商业化,这 为可见光通信的实现及应用提供了基础。然而,普通商用 LED 的调制带宽只有几十兆 赫兹,并不能很好的满足可见光通信系统高传播速率的需求。为增大调制带宽,针对发 射端 LED 光源部分的改进仍需提高。将光子晶体结构引入 LED 芯片量子阱内部,能够 影响光子寿命和光子传播,进而改变 LED 芯片的调制带宽和光提取效率。结合倒装微 尺寸(Micro)LED 结构,使其封装体积最小化,这使得可见光通信能够更加灵活地.

weixin_45852211的博客 895

python3爬虫爬取英语单词到MySQL数据库

前言:我的第一篇博客,本人大一菜鸟一枚,第一次写python的项目,需要大量的数据,第一次接触爬虫这个东西,感觉十分有趣,想以后往这方面发展,特写下自己的爬虫学习经历,希望把自己的学习经历分享给初学者们,也希望各位大佬帮助指正。声明:没有使用多线程,没有使用代理IP,没有使用框架,最简单的一个爬虫爬到死python版本:python3.6使用requests库爬取,使用beautifulsoup库...

OnlyloveCuracao的博客 4027

Plant Simulation 实战指南:从二次分配问题到优化布局设计

本文是一份Plant Simulation实战指南,详细讲解了如何利用该仿真软件解决工厂布局中的二次分配问题。通过从数据准备、模型搭建到集成遗传算法进行自动化优化的完整流程,帮助工程师在数字孪生环境中高效寻找最优设备布局方案,从而显著降低物流成本,提升生产效率。

i1j2k的博客 564

手把手教你学Simulink——基于经典PID控制的电机系统场景实例:BLDC电机PID电流控制策略仿真

*无刷直流电机(Brushless DC Motor, BLDC)**因其高效率、长寿命和低维护成本,在众多领域如家用电器、工业自动化、电动汽车等得到了广泛应用。为了实现对BLDC电机的有效控制,通常采用基于霍尔传感器或反电动势检测的换相技术,并结合电流闭环控制以提高系统的动态响应和稳定性。本教程将带你使用构建一个基于PID控制的BLDC电机电流控制策略仿真模型BLDC电机建模PID控制器设计与应用系统仿真与调试控制效果分析本文介绍了如何使用构建一个。

MHD0815的博客 196

1小时搭建你的专属不背单词网页版原型

为了快速实现,前端直接用Bootstrap框架省去样式设计时间,后端选用Firebase的实时数据库服务,免去自己搭建服务器的麻烦。Firebase的实时数据库特别适合这种小项目,配置好API密钥后,通过简单调用就能实现:存储用户学习记录、读取单词库、更新测试进度。平台提供的现成资源足够支撑大多数学习类项目的原型开发,重点是可以跳过繁琐的环境配置环节。他们的在线编辑器整合了前端预览功能,调试的时候能实时看到界面变化,对快速开发帮助很大。分享下我的极速开发经验,用最简方案实现核心功能。

EmeraldEagle36的博客 949

ConvNeXt 改进 :ConvNeXt添加GnConv递归门控卷积,二次创新CNBlock结构 ,独家首发

视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnConv),通过门控卷积和递归设计执行高阶空间交互。该新操作具有高度的灵活性和可定制性,兼容各种卷积变体,并将自注意力中的二阶交互扩展到任意阶数,而不会引入显著的额外计算。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 234

python爬虫有趣的应用软件_Python爬虫实现无限刷不背单词app的酷币!很有意思!...

免责声明:项目只供学习交流使用,请勿商用,商用违法,刷币有封号危险!!!大家尽量支持正版!!!!一、引言因为考研用到了不背单词app,这个软件做的还是很好的所以就入手了,但是缺点就是里面有一些扩展功能和单词书需要花钱买,内购项目可以用酷币抵用,然后就萌生刷酷币的想法。app中分享的连接只要有一个新用户点进去你就会获得一定量的酷币,因为用户不涉及到账号的登录,所以思路就很简单了,用pyt脚本实现模拟...

weixin_39915204的博客 366

ESP32-IDF开发之旅 基础篇⑨ ESP-IDF的FreeRTOS任务间通信和同步

本文介绍了FreeRTOS任务间通信中的队列机制,重点讲解了队列的创建、发送和接收数据的API使用方法。文章提供了详细的技术说明和示例代码,包括xQueueCreate、xQueueSend、xQueueReceive等核心函数的参数说明和返回值解释。通过一个2生产者+1消费者的实际案例,展示了如何在ESP-IDF环境下使用FreeRTOS队列实现任务间通信。示例中包含了数据发送失败处理和接收数据验证等实用技巧,为开发者提供了可参考的实现模式。

单片机菜鸟哥的博客 427

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

文本分类实战:从预处理到模型部署的完整流水线

文本分类是自然语言处理中最基础且高频的应用任务,其本质是将非结构化文本映射为结构化标签。它依赖于文本向量化、特征工程与监督学习的协同——通过TF-IDF或N-gram将语义转化为可计算的数字表征,再借助Logistic Regression等模型学习判别边界。该技术具备强业务落地性,广泛应用于垃圾邮件识别、客服意图分类、电商评论分析等场景。其核心挑战在于预处理的鲁棒性、特征维度的合理性以及评估指标的业务适配性(如F1值优于准确率)。本文聚焦工业级实践,覆盖清洗、向量化、训练、评估到Flask部署全流程,特别

dengyulong的专栏 456

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【不背单词】生词本单词导出

原文持续更新中: https://www.cnblogs.com/MrFlySand/p/18024734 操作流程 点击我 - 安装 打开【不背单词】-【我的生词】 开启程序 点击【导出】(注:不用显示所有的单词也可进行导出) 效果图 点击链接,与我一起学习 https://pd.qq.com/s/c01padly ...

MrFlySand的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

学习Python不必背单词,理解背后的逻辑更重要

Python,作为一门热门的编程语言,吸引了越来越多的学习者和初学者。然而,有一个普遍的疑虑:学习Python是否需要刻意去背单词,就像学习一门新的语言那样?让我告诉大家,答案是——不需要!在本文中,我们将解开这个疑问,探讨学习Python的最佳方法,以及如何轻松掌握这门编程语言,无需陷入单词的泥沼。可能有些人会问,为什么学Python不用背单词呢?难道Python不是一门编程语言吗?编程语言不都是由一些特定的词汇组成的吗?这些问题很正常,但是你要知道,Python和其他编程语言不一样。。

2301_78150559的博客 1040

国内值得关注的官方API集合

项目地址:https://github.com/marktony/Awesome_API 本页仅收集国内部分官方API,如需查看其他版本,请点击这里。 目录 笔记 出行 词典 电商 地图 电影 后端云 即时通讯 开发者网站 快递查询 旅游 社交 视频 天气 图片与图像处理 外卖 消息推送 音乐 云 语音识别 综合 笔记 为知笔记- 为...

weixin_30477797的博客 3840

新人开发日记(4)

2012.12.09 新建的项目都报这两个错 Dynamic Web Module 3.0 requires Java 1.6 or newer. One or more constraints have not been satisfied. 进过研究最终解决。方法是在pom.xml文件中添加如下代码: org.apache.mav

qq_18630487的博客 7万+

Python——爬虫+词云+数据库

爬取指定新闻网站,将爬取到的数据做词频统计生成词云图,做相应的词频分析饼状图,柱状图,散点图。最后将词频数据存至MySQL数据库。

YQ15161839467的博客 2900

Capistrano开发日记(2)

Capistrano的应用场景是待部署的服务器可以直接访问svn、cvs等源代码管理服务器,所以代码是直接checkout到服务器上的。但是实际的情况常常是,源代码管理服务器处于公司内网,而待部署的的服务器处于外网。这种情况早就有人遇到过了,可以通过修改update_code这个任务来实现的。先是获取代码到本地机器,然后压缩成一个tar包,再传到服务器上并展开。这主意不错,但是实际应用的时候却发现

optman的专栏 1万+

小白的开发日记day01-关于git

小白的开发日记day01-关于git 今天第一次使用git提交代码到远程仓库,就出现一个大bug,将同事提交的代码全部删除,只保留了我自己刚刚提交的代码。幸好我们是3个人的小团队,只有一个同事提交了两个接口的代码,我可以让他重新提交。幸好是在开发分支上进行的,我没更改主分支,不至于让老大知道。幸好本地代码没有删除,幸好,幸好~。究竟是怎么出现这个问题的呢,我这个小白实在是道行太浅,容我一一道来,走着! 场景重现同事上传到github的代码,将所有文件都上传了,其中包括.idea,target等一系列不需要

weixin_45716265的博客 1万+

刷题日记——不背单词签到最大收益(自拟题)(建议不背单词新用户查阅以最快白嫖终生大会员)

输入:n,n表示你能够连续签到的最大天数输出:根据日均酷币数降序排列的所有签到方案。

honev.blog.youkuaiyun.com 3880

小成开发日记----利用Qt/C++实现验证码功能

一、前言 作者:小成 转载请标注作者原链接: 今天没事用Qt写了一个验证码模块的demo,平时很少用Qpainter,这次就做了这个demo练练手,话不多说直接上图看效果 二、分析 做这种的效果主要是弄清楚坐标的位置关系以及paintEvent事件的灵活运用 (1)分析坐标 为了方便理解我画了一张图如下,要注意的一点就是当前矩形的x,y坐标的起点位置是左上角点,其中ABCD使我们需要的坐标位置来存放验证码的位置,这样均分看起来就比较美观嘛,第一个字符X坐标为(x+w/4)/2,依此类推,他们之间相差的距离

weixin_42999453的博客 4011
上一篇: 教务管理信息系统 一键评价课程脚本!谁还手动评啊!
下一篇: Python爬取北京2.3万条租房信息,发现快租不起房子了!
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值