自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Scrapy效率提升篇

scrapy基于twisted异步IO框架,downloader是多线程的。但是,由于python使用GIL(全局解释器锁,保证同时只有一个线程在使用解释器),这极大限制了并行性,在处理运算密集型程序的时候,Python的多线程效果很差,而如果开多个线程进行耗时的IO操作时,Python的多线程才能发挥出更大的作用。(因为Python在进行长时IO操作时会释放GIL)所以简单的说,scrapy是多线程的,不许要再设置了,由于目前版本python的特性,多线程地不是很完全,但实际测试scrapy效率还可以因

2021-05-23 12:35:58 616

原创 直接调用JS(复杂类型)

使用Python调用pyv8(年久失修2010)Js2py(年久失修+bug)pyminiracer(不清楚)PyExecJS(推荐)检测C:\Users\xxxxx>pythonPython 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more inf

2021-04-06 21:17:02 333 1

原创 逆向教程2 某信营业厅

开始先登录正常输入抓到这中文直译为’验证’的包,查看其formdataformdata没有提交的验证码字段,不断更换验证码也没有新包出现,说明这个验证码是本地js生成的无关紧要uName为明文的‘’登录手机号‘’,israndomPwd直译来猜测是随机密码,uPwd猜测为密码,那就先破解密码,全局搜索upwd,其中upwd:pwd,所以我们猜pwd是已经加密好的断点调试一下function ValidatePwd(UType, Account, Pwd, RandomFlag) { var

2021-04-02 17:15:09 565 1

原创 python对Json文件的操作

深层嵌套的Json使用方式# 传递的是json转成str后的json_datafinder = JsonPathFinder(json_data)# 寻找所有的cursor字段path_list = finder.finder.find_all('cursor')# 拿到第一条路径后不再迭代path_list = finder.finder.find_one('cursor')#find_one方法返回从外层到目标字段的第一条路径。而find_all方法返回从外层到目标字段的所有路径。

2021-03-30 09:08:54 262

原创 让Python在退出时强制运行一段代码

atexit介绍python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数,这个函数在解释器正常终止时自动执行,一般用来做一些资源清理的操作。 atexit 按注册的相反顺序执行这些函数; 例如注册A、B、C,在解释器终止时按顺序C,B,A运行。Note:如果程序是非正常crash,或者通过os._exit()退出,注册的退出函数将不会被调用。官方文档atexit作用调试终止程序时进行清理例如在调试chrome的webdriver时示例一

2021-03-29 17:52:41 1420

原创 1.JS高级红宝书程序设计之JS的嵌入方式

1 HTML 中的 JavaScript1.1 <script>元素1.1.1 <script>元素的8个属性 async:可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部脚本文件有效。 charset:可选。使用 src 属性指定的代码字符集。这个属性很少使用,因为大多数浏览器不在乎它的值。 crossorigin:可选。配置相关请求的CORS(跨源资源共享)设置。默认不使用CORS。crossorigin="a

2021-03-28 13:04:34 191

转载 selenium爬虫检测之如何避免对isTrusted属性检测

如何避免对isTrusted属性检测?检测原理什么是isTrusted属性?在web api官方网站mozilla.org有如下解释:“Event接口的 isTrusted 属性是一个只读属性,它是一个布尔值(Boolean)。当事件是由用户行为生成的时候,这个属性的值为 true ,而当事件是由脚本创建、修改、通过 EventTarget.dispatchEvent() 派发的时候,这个属性的值为 false 。”Demo举例创建Demo创建一个名为‘sample_istrusted.html’

2021-03-28 02:40:39 1963

原创 JS逆向教程2:xxx众平台登录

微信公众平台分别记住、不记住账号看一下formdata内谁是其参数,没有找到。其实密码666666已经能看出密文是MD5了(可以熟记其MD5后几位是345e)全局搜索pwd,在logininpage54cd41.js中找到pwd等参数...

2021-03-27 05:00:03 159

原创 js逆向教程1:某某威客登录

假设不会js语法来进行js破解网站的登录接口我们可以准备一组常用的账号密码,并记下对应的MD5、base64等密文,以后抓包会直观看出采用什么加密方式登录手机号密码66666666666666666输入Formdata有两个加密参数f分别是formhash、pwd_password全局搜索formhash有如3个下js包含formhash单词Common.js根据js规则n("#字符串").val() 【ps:val() 方法返回或设置被选元素的值】,我们知

2021-03-26 22:38:34 721

原创 charles使用

安装HTTPS的SSL证书配置windows电脑管理员模式打开Charles>help>SSL Proxying>Install Chrales Root Certificate安装证书>下一步>选择证书存储区域为‘将所有证书放入下列存储’>受信任的根证书颁发机构IOS手机查看电脑IP在windows10电脑下进入设置>网络和Interent>以太网(我的电脑是网线链接)>选择连接的路由器名称>查看属性中的IPv4地址查看端口号及

2021-03-09 04:29:17 293

原创 Pandas入门

安装# 安装pands(默认源)(国内阿里云源)pip install pandspip install pandas -i https://mirrors.aliyun.com/pypi/simple/ --trusted-# 查看版本pandas.__version__# 安装pands对excel读依赖库xlrdpip install xlrd# 安装pands对excel写依赖库xlwtpip install xlwtpandas导入Excel数据导入Excelpd.rea

2021-03-05 04:21:14 914

原创 Matplotlib数据可视化

安装及使用安装pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib使用import Matplotlib.pyplot as plt操作需要numpy数据对象需一并引入import numpy as np散点图生成# 从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.numpy.random.uniform(low,high,si

2021-02-28 03:43:13 249

原创 浏览器模拟器之Splash的使用

Splash Lua脚本使用方法基本实例:function main(splash, args) assert(splash:go(args.url)) assert(splash:wait(0.5)) return { html = splash:html(), png = splash:png(), har = splash:har(), }end返回值形式:字典形式return {hello=“word!”}返回一个字符串格式return

2021-02-13 05:49:04 1659 1

原创 Postman使用之环境变量与全局变量实战

环境变量与全局变量Postman变量分为环境变量和全局变量两种,在接口请求中可以选择一组环境变量使用,而全局变量可以给所有的请求使用,环境变量和全局变量可以重名作用:需要使用已经设定好的参数或者从其他接口中返回获取变化的参数变量使用方式:params>value{{变量名}}变量的设置:更正上图‘选择已创建的变量’为‘选择已创建的环境变量的环境名称’,如果使用环境变量需先在此下拉栏中选中对应变量...

2020-12-29 19:56:08 590

原创 Postman使用之POST接口

商城登录测试案例登陆界面如图所示,我们先打开Chrome浏览器自带的抓包工具>Network>all,勾选presever log避免页面跳转导致抓包清空,如果输入正确的信息浏览器就会登录并跳转到首页同时清空抓包信息,所以我们输入错误的账户名密码验证码并查看包此时发现有三个包,两个是png图片,一个是xhr异步请求,查看异步请求中的关键信息请求地址是http://www.testingedu.com.cn:8000/index.php?m=Home&c=User&

2020-12-29 18:20:46 1460

原创 Chrome抓包工具的使用方法

打开Chrome抓包工具的多种方式F12工具栏打开先空白页再打开抓包工具再打开页面选中任意元素并检查ctrl shift i

2020-12-22 10:48:04 893

原创 2信息校验型反爬虫之Cookie反爬虫

测试网站首页测试网站爬取信息的子页面直接请求子页面(带UA)import requests# from parselurl = 'http://www.porters.vip/verify/cookie/content.html'headers = { 'user-agent': 'PostmanRuntime/7.26.8'}response = requests.get(url=url, headers=headers)# 403服务器已收到请求但是拒绝执行# 404相应资

2020-12-15 21:55:17 338

原创 1信息校验型反爬虫之User-Agent

测试网址爬取页面范围:首页爬取信息:标题、正文、时间F12刷新查看请求类型:get请求且没有传递参数编写请求import requests# from parselurl = 'http://www.porters.vip/verify/uas/index.html'response = requests.get(url=url)# 403服务器已收到请求但是拒绝执行# 404相应资源不存在# 200服务器已经成功处理了请求print(response.status_code)

2020-12-15 18:31:22 641

原创 如何判断网页是否使用了Ajax

方法一:一次AJAX请求头如下:一次普通get请求如下:方法2:使用JS插件查看是不是异步加载方法3:

2020-12-07 19:53:59 2128

原创 项目:API模拟登录Github

撰写于2020-12-5模拟登录的两种方式利用Selenium模拟人类登录直接向登录的API发送登陆参数(本次使用方法)首先打开GitHub登录页面,点击此链接即可GitHub登录页面标注1 是防止跨域攻击的(CSRF)的token,在这里名字叫authenticity_token,这是我们需要提交的数据1,一般网站都会有,找他的诀窍就是通过提交按钮2找他的父类标签form表单里的所有input如下然后查找输入账户密码,F12先清空再进行监听首先会得到一个session在s

2020-12-05 17:22:25 592

原创 Selenium(一)之元素定位法

F12得到前端HTML代码的属性# 由标签对组成<html></html># 有各种属性 属性名为id值为head、属性名为class值为s_s_down<div id='head' class='s_s_down'># 标签对之间有文本数据<a>新闻</a>#标签有层级关系<html> <body> </body><html>接下来以百度一下的前端代码为例讲解W

2020-12-03 13:12:53 867

原创 Scrapy中extract_first()和extract()的区别

测试用到的爬取网站In [11]: print(response.xpath('//h3/a/@title'))# scrapy.selector.unified.SelectorList 是Selector组成的列表Out[11]:# 为了方便阅读换行符我手打的[<Selector xpath='//h3/a/@title' data='A Light in the Attic'>,<Selector xpath='//h3/a/@title' data='Tippin

2020-12-02 13:03:44 903

原创 第五章 数据存储

第五章 数据存储存储的两种方式:文件存储、数据库存储本章内容:文件存储关系型数据库存储非关系型数据库存储爬取的豆瓣TOP250存到MongoDB中5.1文件存储TXT、JSON、CSV、PDF、EXCEL5.1.1 TXT文本...

2020-11-27 03:04:17 444

原创 CSDN热门文章抓取

CSDN热门文章抓取1.准备工作打开CSND首页:https://blog.csdn.net/搜索栏搜索java定义热门博客判定条件:显示浏览量就算定义爬取量:x页本地文件命名方式博客title.html分析一级页面# 第一页 首页一般会有特殊元素(java):https://so.csdn.net/so/search/s.do?q=java&t=&u=# 第二页 一般从第二页分析https://so.csdn.net/so/search/s.do?q=java&a

2020-11-12 13:53:31 500 1

原创 urllib模块使用案例

urllib模块使用案例作用:模拟浏览器读取在线的html新建python项目、文件urllib_.py(不要与包名相同。否则会导入本地的py文件)import urllib.request as urret = ur.urlopen('https://edu.csdn.net/')# 返回的是HTTPResponse对象print(ret)print(type(ret))# 返回的是整个页面数据ret = ur.urlopen('https://edu.csdn.net/').read

2020-11-11 04:17:11 377

原创 # JsonPath使用案例

JsonPath使用案例Json和Python类型区别JsonPython类型表示空nullNone真或假true、falseTRUE、FALSE本质字节流bytes,列表和字典的组合体字典或列表字节流>str>字典或列表操作Json对象和Python对象转换在Pycharm中新建一个json1.py的文件# 导入json模块import json# 创建Python对象python_data = [ {

2020-11-10 05:01:51 391

原创 爬虫第一章 数据提取与清洗策略

第一章 数据提取与清洗策略正则表达式2.案例:定义密码的正则表达式

2020-11-10 03:12:38 394

原创 百度贴吧针对Xpath的爬虫的反扒策略与解决方式

百度贴吧针对Xpath的爬虫的反扒策略与解决方式1.下载美剧吧html打开谷歌浏览器,贴吧中搜索美剧吧,使用ctrl+s的方式保存页面。或打开菜单>更多工具>网页另存为>命名为meiju1.html2.找到一个帖子,鼠标右键选择检查使用Xpath helper尝试匹配# 匹配成功//div[contains(@class,"threadlist_title pull_left j_th_tit")]# 取出文本//div[contains(@class,"threa

2020-11-10 03:07:16 723

原创 XPath应用案例

爬取CSDN学院一级标题打开网站https://edu.csdn.net/在一级标题【人工智能】单击右键>检查在弹出的开发者模式中标灰的就是检查的元素,往上看<a herf标签 >地址就是我们点击人工智能跳转的页面,如果不确认是不是我们可以点击下看看跳转页面是否正确<li data-v-6ef8a82e="" data-v-23556950=""> <a href="https://edu.csdn.net/course?payType=1&amp

2020-11-09 09:52:48 177

原创 Py3.x网络爬虫 第三章 更多数据提取方式

第三章 更多数据提取的方式3.1Xpath和LXml当正则表达式用的不好的时候,可以html文档转换成LXml,再用XPath语法查找3.1.1XML3.1.2XPath语法更多Xpath语法请参考W3School3.1.3LXml1.安装LXml是一个HTML/XML解析器,主要功能是如何解析和提取HTML/XML数据;pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple2.使用# 将字符串解析为HTML文档fr

2020-11-09 05:34:33 704

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除