随笔分类 - Python
摘要:uiautomator简介 UiAutomator是Google提供的用来做安卓自动化测试的一个Java库,基于Accessibility服务。功能很强,可以对第三方App进行测试,获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作,但有两个缺点:1. 测试脚本只能使用Java语言 2.
阅读全文
摘要:openpyxl 的用法实例 1.1 Openpyxl 库的安装使用 openpyxl 模块是一个读写 Excel 2010 文档的 Python 库,如果要处理更早格式的 Excel 文 档,需要用到额外的库,openpyxl 是一个比较综合的工具,能够同时读取和修改 Excel 文档。 其他很多
阅读全文
摘要:1 JSON 文件存储 JSON,全称为 JavaScript Object Notation, 也就是 JavaScript 对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。本节中,我们就来了解如何利用 Python 保存数据到 JSON 文件
阅读全文
摘要:为什么选择PyQuery? Python爬虫解析库,主流的有 PyQuery Beautifulsoup Scrapy Selectors 正则表达式。 PyQuery和scrapy Selectors都是基于lxml模块,而lxml和正则表达式都是C语言写的,只有Beautifulsoup是用纯P
阅读全文
摘要:在命令行直接运行: python -m http.server 80 或 python3 -m http.server 80 会看到如下输出: Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ... 在浏览器访问会展示运行命令所在目录下的文件
阅读全文
摘要:爬虫项目部署 1 脚本文件部署 linux内置的cron进程能帮我们实现这些需求,cron搭配shell脚本,非常复杂的指令也没有问题。 1.1 crontab的使用 crontab [-u username] //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l (列出工作表
阅读全文
摘要:Scrapy-Redis 分布式 1 分布式概述 1.0 scrapy-redis是什么 之前我们已经学习了Scrapy,它是一个通用的爬虫框架,能够耗费很少的时间就能够写出爬虫代码 Scrapy-redis是scrapy的一个组件,它使用了Redis数据库做为基础,目的为了更方便地让Scrapy实
阅读全文
摘要:feapder 框架 学习目标 掌握便捷式框架操作流程 掌握请求钩子结构使用 掌握框架项目搭建流程 掌握数据入库与去重 1 简介 国内文档:https://boris-code.gitee.io/feapder feapder 是一款上手简单,功能强大的Python爬虫框架,使用方式类似scrapy
阅读全文
摘要:Scrapy功能学习 1 scrapy数据提取 Scrapy 还提供了自己的数据提取方法,即 Selector(选择器)。Selector 是基于 lxml 来构建的,支持 XPath 选择器、CSS 选择器以及正则表达式,功能全面,解析速度和准确度非常高 1.1. 直接使用 Selector 是一
阅读全文
摘要:1.BeautifulSoup简介 BeautifulSoup是一个可以从HTML或XML文件中提取数据的python库;它能够通过转换器实现惯用的文档导航、查找、修改文档的方式。 BeautifulSoup是一个基于re开发的解析库,可以提供一些强大的解析功能;使用BeautifulSoup能够提
阅读全文
摘要:Scrapy采集框架 1 学习目标 1、框架流程和结构设计原理 2、框架爬虫程序编写 3、框架日志模块使用 4、框架请求发送流程 2 scrapy简介 Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛,用户只需要定制开发几个模块就可以轻松的实现
阅读全文
摘要:滑块验证码 1. 滑块简介 **注:**重点是识别滑块缺口,测出需要拖动的距离 1.1 核心步骤 从服务器随机取一张图片,并对图片上的随机x,y坐标和宽高一块区域抠图; 根据步骤一的坐标和宽高,使用二维数组保存原图上抠图区域的像素点坐标; 根据步骤二的坐标点,对原图的抠图区域的颜色进行处理。 完成以
阅读全文
摘要:验证码反爬虫 1. 简介 我们在浏览网站的时候经常会遇到各种各样的验证码,在多数情况下这些验证码会出现在登录账号的时候,也可能会出现在访问页面的过程中,严格来说,这些行为都算验证码反爬虫。 样例:https://my.cnki.net/Register/CommonRegister.aspx?r
阅读全文
摘要:文本混淆章节 1. 文本混淆简介 简单而言就是利用前端技术干扰,页面可以正常展示,而使用爬虫下载后无法提取正常的数据。 1.1 常见的干扰方式 字体反爬 2. 字体反爬 2.1 字体反爬简介 在 CSS3 之前,Web 开发者必须使用用户计算机上已有的字体。目前的技术开发者可以使用@font-f
阅读全文
摘要:RPC 技术 RPC,英文 RangPaCong,中文让爬虫,旨在为爬虫开路,秒杀一切,让爬虫畅通无阻!! 1. JSRPC 简介 RPC 技术是非常复杂的,对于我们搞爬虫、逆向的来说,不需要完全了解,只需要知道这项技术如何在逆向中应用就行了。 RPC 在逆向中,简单来说就是将本地和浏览器,看做
阅读全文
摘要:COOkIE反爬虫 1 cookie反爬简介 Cookie 反爬虫指的是服务器端通过校验请求头中的 Cookie 值来区分正常用户和爬虫程序的手段,这种手段被广泛应用在 Web 应用中。 1.1 cookie加密原理 2 cookie逆向实践 2.1 逆向目标 地址:http://www.zjmaz
阅读全文
摘要:载要 哈希算法是 JavaScript 中和 Python 中的基本实现方法,遇到 JS 加密的时候可以快速还原加密过程,有的网站在加密的过程中可能还经过了其他处理,但是大致的方法是一样的。 消息摘要算法/签名算法:MD5、SHA、HMAC 1. MD5 简介:全称 MD5 消息摘要算法,又称哈希算
阅读全文
摘要:在了解了 Python 并发编程的多线程和多进程之后,我们来了解一下基于 asyncio 的异步IO编程--协程 协程简介 协程(Coroutine)又称微线程、纤程,协程不是进程或线程,其执行过程类似于 Python 函数调用,Python 的 asyncio 模块实现的异步IO编程框架中,协程是
阅读全文
摘要:gevent greenlet已经实现了协程,但是这个需要人工切换,是不是觉得太麻烦了,不要捉急,python还有一个比greenlet更强大的并且能够自动切换任务的模块gevent 其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比如
阅读全文
摘要:greenlet Greenlet是python的一个C扩展,提供可自行调度的协程 当一个greenlet遇到IO操作,如访问网络、文件操作时,就自动切换到其他greenlet,等IO操作完成,再在适当的时间切换回来继续执行 为了更好使用协程来完成多任务,python中的greenlet模块对其封装
阅读全文