Category: Python / Wxpython

python: selenium获取验证码, selenium-webdriver 登录验证码的处理, Selenium获取验证码并识别,图片验证码反爬解决思路

  获取验证码有两种思路: 1.获取页面源代码,提取验证码图片 2.利用selenium截取页面,定位验证码元素的位置,利用Image进行处理,获取其中验证码部分   下面进行解析: 1.获取页面源代码,提取验证码图片 如何获取源代码并提取验证码图片过程就不在分析了,既然看到这篇文章,相信这些工作都不在话下了。 这里只分析一下缺点:当提取验证码url后发现每次打开该验证码图片,其内容不断变化, 以搜狗验证码为例:http://weixin.sogou.com/antispider/util/seccode.php?tc=1486691901,该验证码是单独加载进页面,而非嵌入,这时候,单纯提… Read More

Python: 日志记录方案 loguru, 日志模块, loguru模块, logger日志

           loguru:是一个 Python 简易日志库,该库旨在通过添加一系列有用的功能来解决标准记录器的注意事项,从而减少 Python 日志记录的痛苦。 GitHub 地址:github.com/Delgan/loguru   前言 keep it simple , keep it stupid . loguru模块大概是符合这一精神的,其让你把精力从一些日志的调配的琐碎事情上抽离出来,好让你有更多的精力去解决核心问题。基本上使用过之后,就好像使用了python的新特性 f-string 一样,you just can not stop to use it. 你会忍不住想要使用它。 就最简单的使用: f… Read More

tkinter教程:Python GUI 之 tkinter窗口视窗教程大集合(看这篇就够了)

  一、前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅。   一、前言 二、Tkinter 是什么 三、Tkinter 控件详细介绍 1. Tkinter 模块元素简要说明 2. 常用窗口部件及简要说明: 四、动手实践学习 1. 创建主窗口及Label部件(标签)创建使用 2. Button窗口部件 3. Entry窗口部件 4. Text窗口部件 5. Listbox窗口部件 6. Radiobutton窗口部件 7. Checkbutton窗口部件  8. Scale窗口部件 9. Canvas窗口部件 10. Menu窗口部件 11. Frame 窗口部件 12.… Read More

Python爬虫入门, Python采集实例

  准备工作: 1、下载Python3.6.5 https://www.python.org/downloads/ 2、下载IDA工具PythonCharm https://www.jetbrains.com/pycharm/download/#section=windows  (查看破解方法) 3、配置环境变量 安装好Python后找到快捷键,右键点属性,找到目标路径复制 我的电脑,右键-属性-高级-环境变量-系统变量-修改Path,在变量值的最后面加一个;然后把目标路径复制进去 设置好环境变量后测试一下,Win+R,输入cmd,在输入python,如图,就证明已经设置好了环境变量 输一个简单的指令… Read More

Python 操作 google sheet, Python 读写 Google Sheets, Accessing Google Spreadsheet Data using Python

  1. 官网应用:   先决条件 要运行此快速入门,您需要: Python 2.6或更高版本 该PIP包管理工具 Google帐号   步骤1:开启Google Sheets API 点击此按钮以创建新的Cloud Platform项目并自动启用Google Sheets API: 启用Google Sheets API 在出现的对话框中,单击“ 下载客户端配置”,然后将文件保存 credentials.json到您的工作目录中。 也可以参考: Python 读取gmail, Python 搜索gmail, Python操作gmail, How to access Gmail using Python 官网:https://de… Read More

Python: 定时任务的实现方式, Crontab 任务, 定时运行

  背景 目前所在的项目组需要经常执行一些定时任务,之前都是用 Node.JS 的 cron来实现 schedule job。可是这次需要连接不同的 DB,而且实现的逻辑也有些许不同,于是选择使用 Python 的定时器。   Python 实现定时任务   循环 sleep 这种方式最简单,在循环里面放入要执行的任务,然后 sleep 一段时间再执行 from datetime import datetime import time # 每n秒执行一次 def timer(n): while True: print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) time.sleep… Read More

Python: 从dict字典中删除键的不同方法 del vs dict.pop(), Different ways to Remove a key from Dictionary in Python | del vs dict.pop()

  在本文中,我们将讨论从python中的字典中删除键的不同方法。 假设我们有一个字符串和整数的字典,即 # Dictionary of strings and int wordFreqDic = { "Hello": 56, "at" : 23 , "test" : 43, "this" : 43 } 现在我们要从字典中删除键为“ at”的项目。让我们看看如何做到这一点,   使用del从字典中删除键 del d[key] del语句从字典中删除给定的项目。如果字典中不存在给定的键,则它将抛出KeyError。 让我们用它从上述字典中删除密钥, ''' Deleting an entry from dictionary using del ''' # If… Read More

Python: 时间处理, 时间戳, 日期格式化, 日期和时间戳互相转换, 时间模块, 日期模块, time, date, php timestamp(10位和13位)

  一、相关术语的解释 UTC time Coordinated Universal Time,世界协调时,又称 格林尼治天文时间、世界标准时间。与UTC time对应的是各个时区的local time,东N区的时间比UTC时间早N个小时,因此UTC time + N小时 即为东N区的本地时间;而西N区时间比UTC时间晚N个小时,即 UTC time – N小时 即为西N区的本地时间; 中国在东8区,因此比UTC时间早8小时,可以以UTC+8进行表示。 epoch time 表示时间开始的起点;它是一个特定的时间,不同平台上这个时间点的值不太相同,对于Unix而言,epoch time为 1970-01-01 00:… Read More

Python: 访问Selenium中的弹出式登录窗口, webdriver访问弹出窗, How to access popup login window in selenium using Python

  许多网站使用社交媒体登录来简化用户的登录过程。在大多数情况下,如果单击该按钮,则会打开一个新的弹出窗口,用户必须在其中输入用户凭据。可以手动在浏览器中切换窗口并输入所需的凭据以登录。但是,如果使用webdriver进行无人值守的Web访问,则驱动程序不能仅自动切换窗口。我们需要更改驱动程序中的窗口句柄,以便在弹出窗口中输入登录凭据。Selenium具有使用同一驱动程序切换窗口以访问多个窗口的功能。   首先,我们必须从Webdriver获取当前的窗口句柄,这可以通过以下方式完成: driver.current_window_handle   我们需要保存它以获取当前的窗口… Read More

Python: Selenium多窗口之前的切换, 如何使用Selenium在Windows之间切换, webdriver窗口切换

我们将学习在Windows之间切换。在网站上工作时,我们很可能会打开大量窗口。 每个窗口都可能要求我们执行一些操作以完成端到端的流程。为此,我们应该能够在它们之间切换。 我们还需要切换控件,然后执行所需的操作,因为默认情况下,焦点仍保留在父窗口上。   使用Selenium Python在Windows之间切换   WebDriver支持使用“switch_to_window()”方法在这些窗口之间移动。 driver.switch_to_window("window_handle") 现在,Webdriver驱动程序将调用上述窗口。   让我们看一个示例代码以了解其工作原理。 from… Read More

Python: webdriver操作select下拉选项, selenium设定select选项, selenium select dropdown, Handling Dropdowns

    下拉菜单是Internet上Web表单的固有部分。如果必须从可用选项列表中进行选择,则实现此目标的最佳方法是下拉菜单。一个非常普通的例子是您的出生年份,即某年某月某日。您将看到一个可滚动的下拉列表,该下拉列表允许您从其他各种元素的列表中选择单个元素。 下拉列表本身并不是单个元素。它实际上是一个程序集或一类元素。例如,您可以说国家是类,下拉列表中可用的值是各种对象。 要使用下拉菜单,首先需要选择或找到主要元素组,然后进一步进入内部并选择要为其选择的子元素。   选择一个下拉菜单 由于下拉菜单有很多选项,因此我们必须单独选择某些内容,这一点很重要。Selenium Pytho… Read More

Python:list,tuple,dict,set区分, Python元祖,列表,字典,集合的比较

  1.List 定义一个列表,列表内容数据类型可以不同,元素可以更改,可以嵌套list //定义 name = ['Tom','Jack','Marry'] //长度计算 len(name) // Out:3 //访问列表内元素 name[0]//Tom name[1]//Jack name[2]//Marry //追加元素 name.append('Jim') //['Tom','Jack','Marry','Jim'] //插入元素 name.insert(1,'pengyu') //['Tom','pengyu','Jack','Marry','Jim'] //删除末尾元素 name.pop() //['Tom','pe… Read More

Python中序列、列表、元祖(数组)、集合、字典, 数据类型总结,实例详解

  一、介绍   按存储空间的占用分(从低到高): 数字 字符串 集合:无序,即无序存索引相关信息 元组:有序,需要存索引相关信息,不可变 列表:有序,需要存索引相关信息,可变,需要处理数据的增删改 字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改   按可变不可变区分: 1、可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典 2、不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)   进制: 1个二进制位是计算机里的最小表示单元 1个字节是计算机里最小的存储单位 二进制位=bit = 8bi… Read More

Python 读取gmail, Python 搜索gmail, Python操作gmail, How to access Gmail using Python

    步骤1:开启Gmail API 中文版: 开启Gmail API 首先,您需要启用Gmail API并从您的Google帐户获取所需的OAuth凭据。步骤如下所示。 1。使用此向导可以在Google Developers Console中创建或选择一个项目,然后自动打开API。单击“继续(Continue)”,然后单击“凭据(credentials)”。     2。在 “添加凭据(Add credentials)” 页面上,单击“ 取消(Cancel)”按钮。     3。在页面左边,选择OAuth同意屏幕 (OAuth consent screen) 标签。选择一个电… Read More