自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pyppeteer使用时常见的bug及解决办法

背景最近时不时的会用到pyppeteer,一会儿是本地环境利用pyppeteer写个模拟浏览器的小脚本,一会儿是线上阿里云服务器上需要部署pyppeteer所写的脚本。中途遇到一些问题,最后都是通过goolge解决了。为了以后不再到处google,故写下此博客。问题一pyppeteer.errors.NetworkError: Protocol error Network.getCookie...

2019-10-18 16:31:58 7972 4

原创 记一次app爬虫在centos7中部署的经历

1. 项目介绍本爬虫主要是爬取 某视频app 指定vlogger号下的视频列表信息,所爬取到的数据经过一定的规则解析后存入MySQL数据库,并且需要每日至少爬取一次。本项目利用 mitmproxy 扮演中间人角色,截获手机app和服务器两者间的通信数据,经过一定的规则解析后便 调用 http api接口(数据写入MySQL的逻辑,是java的同事写了一个简单的后台,爬虫这边只负责爬取数据,然后 ...

2019-09-04 00:03:05 785

原创 向Mysql中插入数据报 UnicodeEncodeError: 'latin-1' codec can't encode character等错误的解决办法

问题情景最近我部署一个爬虫服务,要往数据库里写入所爬取的数据。数据能够爬取,但是存入时报异常:UnicodeEncodeError: ‘latin-1’ codec can’t encode character,异常使得服务停止了。出现这个问题,肯定是编码的问题,那就沿着这个思路去解决呗。 首先我看了下 sqlalchemy 连接数据库引擎的配置,它这个默认就是 “utf-8” 的...

2019-08-02 00:00:43 2353

原创 Scrapy源码分析(一) -- Request请求对象

前言最近工作不是很忙,所以空闲时间我就看看scrapy的源码。仔细琢磨了下源码,还是有不少感悟的,所以就利用博客记录下自己的感悟。import sixfrom w3lib.url import safe_url_stringfrom scrapy.http.headers import Headersfrom scrapy.utils.python import to_bytesfr...

2019-07-29 23:12:08 757

原创 Centos中安装tesserocr模块,常见报错及处理方式

系统环境Centos7.2安装tesseract:yum install -y tesseract安装完成后,查看一下目前tesseract所支持的语言:List of available languages (1):eng结果显示只支持英语,如果想要安装多国语言,还需要安装语言包,官方叫做 tessdata ( github链接)安装命令如下:git clone https...

2019-07-11 18:53:27 1478

原创 计算机中的源码、反码和补码

在计算机中,保存数据都是使用补码方式。 这里我使用整数来展示正整数和负整数 正整数: 118三码合一 原码 反码 和 补码 是一样的就是该正整数的二进制表示方式 例如:118(10) = 0111 0110(2)源码:0111 0110反码:0111 0110补码:0111 0110负整数: -118原码: 该负数对应正整数的原码 但最高位是 1 (最高位表示符号...

2019-07-07 15:04:29 1984

原创 安卓逆向 -- 某个金融类app自动抢单接口的nsign参数校验破解

1.准备工作及运行环境1.1 系统环境:Mac1.2 抓包工具:Charles v4.2.81.3 安卓模拟器:MuMu模拟器 v1.6.51.4 Java环境:Java 81.4 反编译工具:jadx [github链接地址](https://github.com/skylot/jadx)1.5 某个app包:******.apk 2. 抓包分析在安卓模拟器中安装好...

2019-06-08 15:50:41 2899 1

原创 http协议 -- 6.8 其他首部字段

6.8.1 X-Frame-OptionsX-Frame-Options属于HTTP响应首部,用来告诉浏览器这个网页是否可以放在 iFram内。例如:X-Frame-Options: DENYX-Frame-Options: SAMEORIGINX-Frame-Options: ALLOW-FROM http://caibaojian.com/第一个例子告诉浏览器不要(DENY)把这个...

2019-05-29 22:49:43 262

原创 http协议-- 6.7 Cookie相关的首部字段

6.7.1 Set-CookieSet-Cookie的字段值expires属性Cookie的expires属性指定浏览器可发送Cookie的有效期。当省略expires属性时,其有效期仅限于维持浏览器会话(Session)时间内。这通常限于浏览器应用程序被关闭之前。另外,一旦Cookie从服务器端发送到客户端,服务端就不存在可以显式删除Cookie的方法。但可以覆盖已经过期的Coo...

2019-05-28 23:50:21 504

原创 Http协议-- 6.6 实体首部字段

实体首部字段是 包含在 请求报文 和 响应报文 中的实体部分所使用的首部,它用于补充内容的更新时间等与实体相关的信息。6.6.1 AllowAllow用于告诉客户端该Request-URI所指定资源的所有HTTP方法。当服务器接收不支持的HTTP方法时,会以状态吗 405 Method Not Allowed 作为响应返回。与此同时,还会把所有能支持的HTTP方法写入首部字段 Allow后返...

2019-05-13 09:52:34 534

原创 Http协议-- 6.5 响应首部字段

响应首部字段是由服务器端向客户端返回响应报文中所使用的字段,用于补充响应的附加信息、服务器信息,以及对客户端的附加要求等信息。6.5.1 Accept-RangesAccept-Ranges是用来告诉客户端,服务器是否能处理范围请求,以指定获取服务器端某个部分的资源。该字段值有2种:Accept-Ranges:bytes #表示能处理客户端发过来的范围请求。Accept-Ranges:...

2019-05-06 22:38:45 230

原创 Centos7下源码安装python3.6.4

背景系统:Centos7.4服务:Python3.6.41. 下载安装包并解压# 利用wget下载3.6.4版本安装包wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz# 解压安装包tar -zxvf Python-3.6.4.tgz2. 编译并安装cd Python-3.6.4# 配置到指定位置....

2019-05-03 18:25:11 467

原创 Centos7下安装MongoDB4.0

1.环境系统:Centos7.4服务:MongoDB4.0.92.创建MongoDB所在的文件夹# 到时候相关的文件都放入此文件夹中mkdir -p /usr/local/mongodb4.03.下载MongoDB安装包并解压# 下载相应的源码包wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz...

2019-05-03 15:46:48 687

原创 Centos7中源码安装Redis4.0版本并进行相关的配置

背景:系统:centos7.4 64位服务:redis4.0.141. 首先安装依赖主要是安装系统常用的一些底层依赖库yum -y install vim automake libtool flex bison pkgconfig gcc-c++ \boost-devel boost-devel-static libevent-devel zlib-devel python-devel...

2019-05-02 23:21:27 559

原创 mac安装tesserocr模块,常见的报错情形及处理方式

最近要模拟登陆一个网站,时不时会有图片验证码,所以我就想着装个tesserocr玩玩儿。但是,我在装的过程中,碰到了不少问题。所幸最后都解决了,故写下这篇博客备忘一下。第一步brew install imagemagick这一步没啥问题,顺利装上。第二步brew install tesseract这一步也会很顺利的装上。第三步pip3.6 install tesserocr p...

2019-04-17 20:16:53 1353 1

原创 js逆向破解 —— 懂车帝视频链接

背景话说下午有一朋友发我一链接https://zjbyte.cn/i6615388842591518733/,让我帮忙看一下这个网页中视频链接是怎么获取的。我断断续续地花了两三个小时,最后终于把它给拿下了。在整个分析的过程中,我觉得还算是有点意思,所以写下这便博客,记录一下。初步分析话不多说,撸起袖子就是干。我打开了网页,并打开了 开发者工具 ,并在 network选项卡中清除掉请求,重新刷...

2019-03-22 23:18:04 6425 4

原创 http协议之请求方式

一:八种http请求方式1. GET 请求:获取资源GET 方法 用来请求访问 已被URI识别的资源。指定的资源经过服务器解析后返回响应内容。2.POST请求:传输实体主体向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。3. PUT: 传输文件put方法用来传输文件,要求在报文的主体中包含文件...

2019-01-12 23:35:21 2243

转载 http协议 基础概念

1. 什么是http协议?HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP三点注意事项:HTTP是无连接:无连接的含义是限制每次连接只处理一个请求...

2019-01-12 15:52:22 431

转载 tcp/ip协议中的三次握手, 四次挥手的过程

1. 基本名词及含义TCP的报头:源端口号:表示发送端端口号,字段长为16位。目标端口号:表示接收端口号,字段长为16位。序列号:表示发送数据的位置,字段长为32位。每发送一次数据,就累加一次该数据字节数的大小。注意:序列号不会从0或1开始,而是在建立连接时由计算机生成的一个随机数作为其初始值,通过SYN包发送给接收端主机。然后再将每转发过去的字节数累加到初始值上表示数据的位置。确...

2019-01-12 14:42:18 636

原创 Scrapy中url去重原理分析

1. url及相关参数进行指纹加密scrapy/utils/request.pydef request_fingerprint(request, include_headers=None): """ Return the request fingerprint. The request fingerprint is a hash that uniquely ident...

2019-01-05 16:53:06 1948 1

转载 进程,线程和协程的区别联系

1. 进程进程就是一个程序在一个数据集上的一次动态执行过程。进程由程序,数据集,进程控制块三部分组成。程序用来描述进程哪些功能以及如何完成;数据集是程序执行过程中所使用的资源;进程控制块用来保存程序运行的状态。2.线程一个进程中可以开多个线程,为什么要有进程,而不做成线程呢?因为一个程序中,线程共享一套数据,如果都做成进程,每个进程独占一块内存,那这套数据就要复制好几份给每个程序,不合理,所...

2019-01-05 12:32:27 219

原创 python模拟登陆--coding.net

import requestslogin_url = 'https://coding.net/api/v2/account/login'data = { 'account': 'codingfile', 'password': 'password', 'remember_me': 'false',}session = requests.session()session.post(...

2019-01-04 17:47:55 345

原创 python往mysql数据库中写入数据和更新插入数据

1. 连接mysqlimport pymysqldb = pymysql.connect(host=‘localhost’,user=‘root’, password=‘123456’, port=3306, db=‘spiders’)cursor = db.cursor()sql = ‘select * from students;’cursor.execute(sql)cursor...

2019-01-03 20:51:34 15157 3

原创 关于Git新建本地分支并推向远端服务器的若干命令

背景:最近有个新的爬虫功能需求需要我开发一下,所以得先建个分支,功能开发完成后,然后合并到现有的主分支。 方案一: 远端先新建好新的分支然后拉到本地git checkout -b newBranch origin/newBranch //远程的newBranch分支拉取到本地 方案二: 本地先新建好分支然后再推到远端服务器1). git checkout -bnewBra...

2018-12-27 20:56:47 1519

原创 Ubuntu 16.04 下开机引导修复Windows

前言: 趁着放假期间,我装了Ubuntu16.04 系统。我用了 easyBCD设置了在Windows8.1下开机引导Ubntu16.04启动,然后再关机重启(这个如何使用easyBCD我是参考网上的其他技术博客的)。重启后,我选择Ubuntu16.04 ,然后就出现了如下图所示的报错:这个问题困扰了我很久,还是没有搞好,所以不得不换种思路:先进入 Ubuntu16.04 系统,然后在这个...

2018-10-08 00:10:23 11851 7

原创 Ubuntu下安装pycharm并注册激活

1. 去官网上下载pycharm对应的版本官网链接: pycharm官网下载地址点击 保存文件 然后开始下载2. 解压文件在下载 资源管理器中 打开终端crtl+alt+T复制下载文件到 /opt文件夹中sudo cp pycharm-professional-2018.2.4.tar.gz /opt切换目录到 /optcd /opt开始解压文件sudo tar -...

2018-10-06 19:21:30 7774

原创 Windows8.1下安装 Ubuntu16.04双系统(附图)

记一次 Windows8.1 下安装 Ubuntu16.04 双系统的坎坷经历1. 准备工作禁用win8.1中快速启动打开 控制面板 > 硬件和声音 > 电源选项(唤醒计算机需要密码) 在 关机设置中 去掉 启用快速启动 的勾选,然后点击 保存修改禁用win8.1的安全启动这里我就不详细写了,参考https://z

2018-10-06 13:22:38 10095

空空如也

空空如也

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

TA关注的人

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