自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (1)
  • 收藏
  • 关注

原创 requests正常scrapy异常---终极解决方案

requests正常,scrapy异常

2022-10-20 23:08:59 767 1

原创 python转换非标准时间

可匹配结构:今天~前天, 几天前, 分钟秒前等 | 2017-1-4 12:10 | 2017/1/4 12:10 | 2018年4月2日 12:12 | 2018年4月2日 | 2017-1-4 | 2017/1/4 | 1/4 |# -*- coding:utf-8 -*-from datetime import datetime, timedeltaimport reimport timedef tz_offset(tz): res = (re.search(r'(?P&lt

2021-07-24 23:59:50 316 1

原创 Celery与爬虫

celery是一个分布式异步任务框架,拥有简单,灵活,可靠等特性。celery可使用redis/rabbitmq作为它的任务队列,专注于实时处理,同时还支持任务调度。理论上可以利用它来帮助我们实现任何需要异步的地方,比如爬虫中的请求并发celery库github源码地址官方文档地址celery的实现原理:利用redis/rabbitmq作为它任务队列,结合eventlet/gevent实现的异步,用于异步处理大批量消息。eventlet:基于事件驱动实现的线程库 gevent:基于事件驱动实现

2021-03-25 22:54:05 555 2

原创 centos7快速安全部署爬虫运行环境

文章目录centos快速部署爬虫所需的环境, 避免走弯路! 以下所涉及其他博客的链接, 都是作者亲身测试有效的, 特此汇总一、数据盘挂载二、python环境三、mongodb安装四、redis安装五、scrapyd六、gerapy七、osscentos快速部署爬虫所需的环境, 避免走弯路! 以下所涉及其他博客的链接, 都是作者亲身测试有效的, 特此汇总一、数据盘挂载Linux 系统挂载数据盘# 注意事项echo '/dev/vdb1 /mnt ext4 defaults 0 0'

2021-02-18 17:54:03 738

原创 爬虫中遇到中文乱码解决方法

1.requests设置响应的编码response.encoding = response.apparent_encoding2.scrapy中间件中添加如下代码def process_response(self, request, response, spider): response = HtmlResponse( url=response.url, body=response.body, encoding='GB2312' )

2020-12-02 17:08:38 361 1

原创 js逆向不用扣代码系列(4)—3分钟快速破解猿人学第10题(重放攻击对抗之偷梁换柱)

网址:http://match.yuanrenxue.com/match/101.加密参数分析打开控制台,直接被反调试了调试堆栈花里胡哨的, 不用管,再往上翻翻看看这不就是著名的某x的变种吗,过掉反调试,抓下包看看发现加密参数为m,再看这长度,基本坐实某x变种,到这已经基本确认几分钟内能拿下本题了2.工具准备:SwitchyOmega,mitmdump两个工具使用大概介绍下SwitchyOmega新建情景模式,端口设置为mitmdump的默认端口8080,如下图所示mitm

2020-11-26 21:42:21 1978 1

原创 js逆向不用扣代码系列(3)—3分钟快速破解猿人学第14题(巧过风控)

网址:http://match.yuanrenxue.com/match/141.加密参数分析进行翻页请求抓包似乎是先访问http://match.yuanrenxue.com/api/match/14/m该链接,返回一段js混淆的代码,生成cookie后再访问列表页获取结果,然而我们不必理会其具体过程,直接进入到下一步分析。2.更改js代码,并替换响应为本地文件点击下图红框跳入下面我们对上述图片红框内代码进行修改,并保存到本地,后用fidder替换http://match.yuanr

2020-11-25 22:39:16 915

原创 js逆向不用扣代码系列(2)—3分钟快速破解猿人学第16题(webpack初体验)

网址:http://match.yuanrenxue.com/match/161.加密参数分析进行翻页请求抓包,发现加密参数为打上xhr断点调试堆栈,发现m加密代码 r.m = n[e(528)](btoa, p_s),p_s

2020-11-25 13:54:07 1503 3

原创 国家税务总局发票查验平台爬虫

文章目录1.安装根证书2.反调试2.1.无限debugger第一种方案第二种方案2.2.防止代码格式化3.请求参数整体分析3.key9参数解密4.flwq39参数解密5.验证码应对方案1.安装根证书2.反调试2.1.无限debugger第一种方案打开控制台发现出现断点根据右侧堆栈查找debugger产生位置可以看到有debugger字样, 该wlop.js文件是经过sojson混淆的,可以用ast进行还原,可以网上搜索ob解混淆脚本, 后面会发现几乎所有js文件都是混淆过后的, 所以建

2020-10-24 18:11:04 8986 27

原创 国家企业信用信息公示系统爬虫——流程分析

本文仅供学习交流使用,请勿用于商业用途或不正当行为如果侵犯到贵公司的隐私或权益,请联系我立即删除1、第一次访问http://www.gsxt.gov.cn/index.html, 获取cookie:__jsluid_h(Set-Cookie), __jsl_clearance(响应生成)2、 第二次访问http://www.gsxt.gov.cn/index.html, 更新cookie:__jsl_clearance, 本步骤可以先用ast对混淆的代码进行还原, 然后调试改写3、第三次访问htt

2020-10-14 14:19:08 6184 13

原创 selenium被检测

# -*- coding:utf-8 -*-import timefrom selenium import webdriveroptions = webdriver.ChromeOptions()options.add_argument("--disable-blink-features=AutomationControlled")driver = webdriver.Chrome(options=options, executable_path='./chrome_driver/chrome

2020-09-07 23:08:41 833 4

原创 智联招聘反爬虫—MmEwMD参数定位

本文仅供学习交流使用,请勿用于商业用途或不正当行为如果侵犯到贵公司的隐私或权益,请联系我立即删除1、x-zp-client-id全局搜索x-zp-client-id很容易定位到是由cookie中来的2、x_zp_page_request_id全局搜索发现从window.zpPageRequestId的值中获取, 该值时访问列表页返回的3、MmEwMD我们可以编写一个插件来进行hook,插件内容来自IT猫之家:https://www.itmaohome.com/windows-soft/

2020-08-24 23:39:02 4010 4

原创 js逆向不用扣代码系列(1)—豆瓣搜索window.__DATA__解密

网址: https://search.douban.com/book/subject_search?search_text=python&cat=10011. 经过抓包分析,数据经过加密,加密后的数据在网页源代码中,即window.DATA2.谷歌开发者工具全局搜索window.DATA3.打开console,输入Mt,测试浏览器中是否有Mt这个全局对象可以看到没有任何提示,可以判定无此全局对象4.对该js文件改写,使window对象有Mt这个属性,并保存到本地,命名为douban.

2020-06-13 15:09:36 2106

原创 js混淆还原

1.数组类混淆现象:定义一个数组,然后js代码中用 [ ] 式访问数组成员处理后:将数组内成员字符串替换到js中# -*- coding: utf-8 -*-# 混淆前jsjs = """var arr = ["Date", "getTime"];console.log(window[arr[0]]()[arr[1]])"""import re# 1.正则匹配出列表js...

2020-02-29 16:36:34 7445 3

原创 java常见加密实现(MD, SHA, DES, DESede, AES, RSA)

MD5import java.security.MessageDigest;import java.security.Security;import org.bouncycastle.jce.provider.BouncyCastleProvider; public class MD5 { static { try { Securit...

2020-02-20 16:42:52 511

原创 Xposed hook框架安装

需要提前准备:1.夜神模拟器Android4.4版本2.eclipse安装:配置好jdk, sdk目录Xposed hook框架安装过程1.下载xposed框架打开https://repo.xposed.info/module/de.robv.android.xposed.installer下载de.robv.android.xposed.installer_v33_36570c.ap...

2020-02-18 20:28:04 991

原创 javascript加密库jsencrypt.js,RSA.js用法

jsencrypt.min.js, RSA.min.js链接: https://pan.baidu.com/s/1U17w_hYzAPMUno3MfijA4A提取码: cdwv<script src="jsencrypt.min.js"></script><script src="RSA.min.js"></script><scrip...

2020-02-02 14:42:21 2502

原创 javascript加密库CryptoJS用法

<script src="CryptoJS.min.js"></script><script> // 1.消息摘要算法 var wordArray = CryptoJS.enc.Utf8.parse("66666"); // 字符串先转变为wordArray, 也可以不用转变,实际情况根据网站 var md5_str = Crypto...

2020-02-01 21:43:27 3434

原创 redis实现队列

#!/usr/bin/env python# -*- encoding: utf-8 -*-# vim: set et sw=4 ts=4 sts=4 ff=unix fenc=utf8:# Author: Binux<[email protected]># http://binux.me# Created on 2015-04-27 22:48:04# 转发自:gi...

2019-12-21 19:12:22 148

原创 极验验证码3破解-selenium

极验3中相比之前版本原图无法直接获取,可以通过执行js获取,详见代码import timefrom io import BytesIOfrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by...

2019-12-11 20:14:40 818

原创 python 线程池

from concurrent.futures import ThreadPoolExecutorfrom multiprocessing import Queuequeue_list = Queue()# 生产者def producer(): queue_list.put('data')# 消费者函数def consumer(data): passpo...

2019-11-03 17:48:50 190

原创 scrapy-redis

1.setting.pyDUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 将request转换为指纹SCHEDULER = "scrapy_redis.scheduler.Scheduler" # request调度器SCHEDULER_PERSIST = True # 是否持久化请求队列和指纹集合, 默认Fals...

2019-10-20 16:51:00 150

原创 新浪微博登录selenium(更新于20190805)

一、用途:用于获取cookie,建立cookie池二、登录站点:https://weibo.com/login三、注意事项:1.无头模式下需要添加参数:option.add_argument(‘window-size=1200,1100’),如不添加会报如下错误:ElementNotVisibleException2.本次登录接入云打码平台,如需要可以将图片下载后手动进行打码(代码自行更改...

2019-08-05 21:55:49 478 2

原创 布隆过滤器 redis版本实现

import hashlibimport redisimport six# 1. 多个hash函数的实现和求值# 2. hash表实现和实现对应的映射和判断class MultipleHash(object): '''根据提供的原始数据,和预定义的多个salt,生成多个hash函数值''' def __init__(self, salts, hash_func_n...

2019-07-28 21:42:29 419

原创 使用FormRequest.from_response()方法模拟用户登录

通常网站通过 <input type=“hidden”> 实现对某些表单字段(如数据或是登录界面中的认证令牌等)的预填充。 使用Scrapy抓取网页时,如果想要预填充或重写像用户名、用户密码这些表单字段, 可以使用 FormRequest.from_response() 方法实现。下面是使用这种方法的爬虫例子:import scrapyclass LoginSpider(scra...

2019-04-14 22:48:21 626

原创 scrapy主动关闭爬虫

在spider文件的函数内写入:self.crawler.engine.close_spider(self, 'cookie失效关闭爬虫')

2019-04-14 21:26:01 1191

原创 shell脚本获取当前时间和1分钟/1小时前时间

time1=(date&amp;amp;amp;amp;quot;+time2=(date &amp;amp;amp;amp;quot;+%Y-%m-%d %H:%M:%S&amp;amp;amp;amp;quot;)time2=(date&amp;amp;quot;+time2=(date -d “1 minute ago” +&amp;amp;quot;%Y-%m-%d %H:%M:%S&amp;amp;quot;)

2019-03-14 19:48:06 12174

原创 selenium获取展开里的内容

用selenium控制页面时,可能需要获取展开内的内容两种思路:1.定位所有展开标签,然后遍历click2.更改展开标签的display属性第一种不推荐,会对后面的代码报一些莫名其妙的错误第二种直接执行一段js代码即可:js = """ elements = document.getElementsByClassName('xxx'); for (var i=0; ...

2019-02-20 00:42:20 2545 2

原创 有道翻译js加密破解

案例说明:有道翻译请求参数(salt, sign, ts)通过js加密,进行爬虫请求时首先应对加密的参数进行解密,用到的技术要点有:js2py, hashlib加密,requests发送请求等。import requestsimport jsonimport js2pyimport hashlibheaders = { 'User-Agent': 'Mozilla/5.0 ...

2018-12-31 23:18:26 929

原创 chromedriver的无界面(headless)模式及使用代理

import timefrom selenium import webdriver"""使用无界面模式"""option = webdriver.ChromeOptions()option.add_argument('--headless') # 开启无界面模式option.add_argument('--disable-gpu') # 禁用显卡option.add_argument...

2018-12-12 20:28:08 5927 4

原创 selenium定位隐藏元素

通过编写js代码更改隐藏元素的display属性,然后执行即可,详见代码import timefrom selenium import webdriverdriver = webdriver.Chrome('/home/python/Desktop/spider/driver/chromedriver')driver.get("http://www.itcast.cn/")js = ...

2018-12-12 20:20:10 2773

原创 DRF框架常用的几个类用法介绍

1.APIView1.APIView是REST framework提供的所有视图的基类,继承自Django的View;2.支持定义的属性:authentication_classes 列表或元祖,身份认证类permissoin_classes 列表或元祖,权限检查类throttle_classes 列表或元祖,流量控制类3.在APIView中仍以常规的类视图定义方法来实现get() ...

2018-11-20 23:50:45 1095

原创 DRF框架(2)

2018-11-10 20:23:34 107

原创 DRF框架(1)

2018-11-09 21:02:58 176

原创 TypeError at /admin/ argument to reversed() must be a sequence

页面报错信息如下:TypeError at /admin/argument to reversed() must be a sequence出现这种错误的主要原因为其他主路由(或其中的子路由)定义错误urlpatterns = [ # 主路由 url(r'^admin/', admin.site.urls), # 其他主路由 url(r'^us...

2018-11-09 20:47:50 482

原创 Django框架(3)

2018-11-08 17:03:34 162

原创 Django框架(2)

Django框架(二)

2018-11-05 21:12:35 109

原创 Django框架(1)

2018-11-04 21:02:35 115

原创 Flask框架(7)

Flask框架总结(7)

2018-10-24 19:11:58 93

原创 Flask框架(6)

Flask框架总结(6)

2018-10-24 19:11:32 103

mobi.acpm.inspeckage_v10_b94f02.apk

Version name: 2.4 Release type: Stable (low risk of bugs) Download: mobi.acpm.inspeckage_v10_b94f02.apk (5.89 MB) Number of downloads: 11,868 in total · 17 in the last 24 hours MD5 checksum: b94f02ad43d33bee6974ffb20fb70412 Uploaded on: Friday, August 24, 2018 - 05:48

2020-03-03

空空如也

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

TA关注的人

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