- 博客(17)
- 收藏
- 关注
原创 requests如何保持headers参数顺序不变
写这篇文章是出于对猿人学第十题的少见反爬的好奇。如题:猿人学练习平台第十题也可以参考 http://match.yuanrenxue.com/match/3 同样的反爬策略。F12调试下发现无加密参数,在postman上调试拿不到对应数据将header所有参数都加入,依然得不到数据下面是对应的接口头部信息:题目已经给出线索,请求规律检测- headers,从此处出发。将所有的参数按照顺序排列。(不过在此踩了一个坑,开发者工具上的排序并不是原始顺序,而是按字母顺序。后采用抓包工具得到对应的h
2021-07-08 14:12:50
1588
1
原创 Airtest 如何添加自定义参数给脚本
最近碰到一个有意思的小问题,命令行执行air脚本时,需要动态的更改脚本里某一参数。为此各种百度 谷歌,最后还是在官方文档找到对应的思路。通常情况下,我们用的启动方式为命令行如:airtest run /Users/a1/soft/berserker/airtest.shell/phone.air --device android://127.0.0.1:5037/device这种方式无法动态更改脚本参数,在官方文档中,有自定义启动器的方法可以实现。在这个里面有自定义参数的添加方法,是.
2021-03-24 10:55:56
1467
原创 Python爬虫技术分享之JS入门
前言 最近在做今日头条文章数据抓取的过程中,发现视频地址的获取较为复杂。在源码与浏览器配合下发现对应的解决思路,故此记录一下。目录需要的Python模块实现思路代码及运行结果正文1.需要的Python模块 模块主要有requests(或者aiohttp),PyExecJS。 前者是请求文章的源码,后者是Python执行JS代码的依赖库,主要是生成视频地址实现思路一. 需求主要是替换原有文章中的视频及图片地址为本地储存地址,因此需要下载资源,在针对视频分析时
2020-10-28 18:08:31
387
原创 浅谈Xpath标签属性删除,转换为string,删除标签功能
Xpath删除指定标签# 过程:# 1.匹配到指定标签# 2.根据表属性删除scripts = html.xpath('//script')for s in scripts: s.getparent().remove(s)Xpath删除指定标签属性#过程:# 1.匹配到指定标签# 2.根据strip_attributes方法删除#strip_attributes 该方法是lxml中etree下的方法,主要是针对标签属性做更改,源码如下:def strip_a.
2020-09-24 17:24:04
1553
原创 Python搭建代理池
由于爬虫工作往往有大量数据需要爬取,便需要大量的备用IP更换,这时就需要用到代理IP池。将大量可以用于更换的代理IP汇聚要一起,便于管理和调用,IP池就这样产生了。IP池有一下特征:它里面的IP是持续补充的,会有源源不断的新的IP被加入到池子中。它里面的IP是有生命周期的,一但失效就会被清除出 IP池;它里面的IP是可以被任意取出,方便爬虫用户使用的。免费ip其实是不适合搭建代理池的,因为数量上面不具备优势,而且很耗时,大家需要用时间来一一排查,要做就要做好,建议大家还是选择专业一点的提供商。代理池主要
2020-07-02 14:32:48
1163
原创 Python常见反爬与反反爬
一.request请求头限制accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9accept-encoding: gzip, deflate, braccept-language: zh-CN,zh;q=0.9cache-control: max-age=0cookie: tk_tra.
2020-05-09 14:02:09
1063
原创 Django项目部署上线
当项目开发完毕后,需要上线。此时,需创建从从uwsgi、nginx、静态文件三个方面处理。(当然,本文只是在Django下的部署,可作参考。)服务器介绍服务器:私有服务器、公有服务器 私有服务器:公司自己购买、自己维护,只布署自己的应用,可供公司内部或外网访问 公有服务器:集成好运营环境,销售空间或主机,供其布署自己的应用 私有服务器成本高,需要专业人员维护,适合大公司使用 公...
2019-05-07 09:19:01
2016
原创 Django基础
Django简介开放源代码的大而全的Web应用框架,由Python语言编写...... 采用了MVC的框架模式,即模型M,视图V和控制器C。 它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许 可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django采用了MVC的软件...
2019-05-06 21:05:39
215
原创 数据库基础总结《三》Redis
Redis简介Remote Dlctionary Server(Redis)是一个key-value存储系统。Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-va...
2019-04-16 20:57:49
121
原创 Python变量基础语法
变量分为:全局变量,局部变量全局变量:即能被多数函数共同访问,在函数外部声明。局部变量:即只能被其所属函数访问,其它函数无法访问,在函数内部声明。 1.全局变量能被当前文件中的所有python代码访问,注:【先声明赋值,后使用变量】user ="jake"def party(): print("函数访问全局变量:",user)def party0(): prin...
2019-04-08 21:17:07
176
原创 数据库基础总结《二》MongoDB
1 MongoDB 简介MongoDB 是一个基于分布式文件存储的NOSQL数据库 由C++语言编写,运行稳定,性能高 旨在为WEB应用提供可扩展的高性能数据存储解决方案特点:模式自由:可以把不同结构的文档存储在同一个数据库里 面向集合的存储:适合存储JSON风格文件的形式 完整的索引支持:对任何属性可索引 复制和高可用性:支持服务器之间的数据复制,支持主——从模...
2019-04-02 22:09:50
204
原创 数据库基础总结《一》MySql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。 在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软 件。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就 增加了速度并...
2019-03-26 22:05:26
230
原创 面向对象特征之继承
面向对象:它是一种编程思想,一种通过多个对象之间互相协作完成功能处理流程的编程思路,它是相对于面向过程而言的,是面向过程编程思想的补充和完善,更加适用于处理复杂业务流程的系统开发。本次讲述其三大特征之继承,包括语法,特性,含义,案例开发生活与代码对比: 体现的是:某一个小类型属于某个大类型 ...
2019-02-15 21:48:37
137
原创 面向对象特征之封装
(1) 关于封装为什么要封装?为了保护敏感/隐私属性数据,让外界访问当前对象中的属性数据时,可以按照我们指定的条件进行访问,否则不允许访问,提高属性数据的安全性。怎么封装?实现封装的步骤 1. 将当前类型中所有属性私有化。 2. 给每个属性提供访问属性数据的set/get方法。 3. 给敏感属性的访问方法中,添加访问限制条件。什么地方...
2019-02-14 19:59:58
109
原创 面向对象思想初级应用实例
面向对象是一种编程思想,是一种通过多个对象互相协作完成功能处理流程的编程思路,在核心处理过程中,又主要区分为类的声明定义、对象的创建使用、面向对象拥有的特征【三大特征:封装、继承、多态】 封装:体现了对象对于敏感数据的保护特征 继承:体现了代码的复用和功能的扩展 多态:体现了不同操作环境中代码的多样性【程序的健壮性】 思路:大量的程序开发、大量的...
2019-02-13 19:26:57
980
原创 函数入门《语法,参数》
函数定义函数是一种可以完成特定功能的一个语句组,可通过调用函数名来完成语句组的功能。生活行为对比生活中的行为是一个/一系列动作的集合。而行为只有在执行的时候才会运用函数。代码可以象征生活中的一个/一系列动作,而函数将这些动作(函数)包含/封装起来,在需要的时候再执行。规则:生活中的行为有了行为才能执行代码中的函数有了需要(要执行函数包含的代码片段)才会执行。函数开发遵循,先...
2019-02-13 17:16:32
281
1
原创 Python组合数据类型四大类型总结
(Python组合数据类型)#组合数据应用基础Python组合数据,包含四中类型:列表(list),元组(tuple),集合(set),字典(dict)。1. 列表**列表是一种可存放多个数据,数据可以重复,有顺序,可以修改的组合数据。可以添加删除排序数据。空列表表示有: x = list() 或者 x = [] 常推荐前者表示非空列表有: x = list([1,2,3,...
2019-01-22 22:00:25
6061
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人