自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 scrapyd和scrapydweb使用详细教程

Ⅰ、首先要搞清楚几个概念1、scrapy是什么?一个爬虫框架,你可以创建一个scrapy项目2、scrapyd是什么?相当于一个组件,能够将scrapy项目进行远程部署,调度使用等因此scrapyd可以看作一个cs(client-server)程序,因此毫无疑问我们需要安装和配置scrapyd(server)和连接的scrapy-client(client)3、scrapydweb是什么?是一个基于scrapyd的可视化组件,集成并且提供更多可视化功能和更优美的界面总结:三者如同葫芦套娃,

2022-01-14 10:08:51 1777

原创 scrapyd scrapyd.conf配置详情

本文是centos7下的,scrapyd.conf文件在你的虚拟环境文件lib/python3.7/site-packages/scrapyd.conf(default_scrapyd.conf)[scrapyd]# 网页和Json服务监听的IP地址,默认为127.0.0.1 修改成 0.0.0.0可以远程访问bind_address = 127.0.0.1# 监听的端口,默认为6800http_port = 6800# 是否打开debug模式,默认为offdebug = of

2022-01-12 08:57:52 820

原创 如何找参数appPackage和appActivity的包?

今天给大家介绍两种方法,一种简单的,一种复杂的,先说复杂的,哈哈哈*1、首先找到你的SDK安装路径,找到build-tools里的版本号,这是我的路径:C:\android-sdk-windows\build-tools\30.0.3然后cmd进入这个路径,然后输入命令:aapt.exe dump badging C:\Users\Acheng\Desktop\base.apk这里就是appPackage的包,appActivity的包要往下翻,基本在这个位置:当然有的apk它的appActiv

2021-12-26 10:08:30 1832

原创 execjs执行js编码错误的解决方法(UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xad in position 20: illegal )

欢迎加入爬虫群:794630151源码:with open('test.js','r',encoding='utf-8') as f: js_text=f.read() # print(js_text) compil=execjs.compile(js_text) cookie=compil.call('sdk_1')print(cookie)报错:Exception in thread Thread-1:Traceback (most recent call

2021-12-15 11:08:20 2365 1

原创 python将base64编码/解码和python操作MD5

# -*- coding:utf-8 -*-#将base64编码/解码包import base64#导入url解码包from urllib import parse#普通中文s = "你好"#带竖线的中文str1 = '中国|陕西省|西安市|雁塔区|小寨东路|178号'#base64编码后的样例example = '5Lit5Zu9fOmZleilv+ecgXzopb/lronluIJ86ZuB5aGU5Yy6fOWwj+WvqOS4nOi3r3wxNzjlj7c='#先base64编

2021-12-09 11:22:00 883

原创 Selenium启动项参数设置

Chrome Webdriver Options简介这是一个Chrome的参数对象,再此对象中使用add_argument()方法可以添加启动参数,添加完毕后可以在初始化Wedriver对象时将此Options对象传入比如说以下例子from selenium import webdriverfrom selenium.webdriver.chrome.options import Options# 实例化一个启动参数对象chrome_options = Options()# 设置浏览器窗

2021-11-06 14:25:55 4033

原创 Python获取当前日期、日期差计算、判断时间是否在某个时间范围内

在Python中获取日期和时间很简单,主要使用time和datetime包1、获取当前时间并格式化from dateutil import rrulefrom datetime import datetimeimport time#获取日期,格式化yyyy-mm-dd hh:mm:ss#第一种方式strtime = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())print(strtime)print(type(strtime))

2021-11-03 16:17:09 22477

原创 python爬虫爬取微信公众号历史文章链接

最近公司有了要爬取微信公众号文章链接的需求,之前最初接触爬公众号文章的时候,用的是搜狗微信,在这个上面可以搜到相关的微信公众号文章,但是这些链接是有时效性的,第二天链接就打不开了(不知道现在是多久),当然如果是要抓文章内容的,可以用这种方法,但是如果要抓文章的URL,那就不行了,只能另寻别的方法。 期间我试了网上的各种方法,比如微信公众号发布平台,这个的cookie也是有时效性,具体是多久网上说多久的都有,当然这确实是一种方法,同时我自己也在寻找别的方法。我的方法是使用fiddler抓包抓到pc端微.

2021-11-02 14:28:59 16112

原创 tmux的基本使用命令

Tmux的层次1、Session 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。2、Window 单个可见窗口。Windows有自己的编号,也可以认为和ITerm2中的Tab类似。3、Pane 窗格,被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。Session相关的命令# 创建tmux new # 不指定session nametmux new -s [session-name]# 删除Sessiontmux kill-sess

2021-11-01 14:26:17 3896

原创 使用pyinstaller打包多个和单个python文件

一、打包多个1、将需要打包的项目为anjuke_sd目录下的所有python文件,其中excute_main.py为主文件。2、生成主函数对应的spec文件命令:在anjuke_sd路径下使用:pyi-makespec excute_main.py如下图已经生成excute_main.spec文件。3、修改spec文件:加入需要打包的所有python文件,同时确保以下两项包含该项目的路径4、对spec文件进行pyinstaller安装命令:pyinstaller excute_main

2021-10-03 20:22:04 24322 7

原创 Windows和夜神模拟器上抓包程序mitmproxy的安装以及使用

一、介绍说明mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。mitmproxy的功能:1、拦截HTTP和HTTPS请求和响应2、保存HTTP会话并进行分析

2021-08-30 19:55:17 14309 8

原创 Appium DesiredCapabilities参数配置及含义

一、DesiredCapabilities的作用负责启动服务端时的参数设置,启动session的时候是必须提供的。Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情,比如:本次测试是启动浏览器还是启动移动设备?是启动andorid还是启动ios?启动android时,app的package是什么?启动android时,app的activity是什么?二、参数的初始化设置 DesiredCapabilities capabil

2021-08-30 10:59:24 3629

原创 mysql中的内连接and 多表查询

boys表,girls表,id 同一个inner join 内连接,也称为等值连接隐式内连接:join、cross joinselect * from boys , girls where boys.id = girls.id ;select * from boys inner join girls where boys.id = girls.id ;select * from boys inner join girls on boys.id = girls.id ; select

2021-08-29 08:39:59 3040

原创 【详记MySql问题】安装之后没有my.ini配置文件怎么办

Windows操作系统中,我们安装Mysql有两个选择:一是下载MSI点击运行,利用windows系统安装程序的方法按部就班的来安装;二是下载ZIP,解压出来就能立即使用。在使用ZIP安装时,安装好之后默认是没有my.ini配置文件的:当我们想修改数据库的配置信息如 wait_timeout、interactive_timeout、max_connections 或大小写敏感时,却找不到my.ini 配置文件。虽然这时,还可以通过命令行来修改配置信息,但重启mysql后修改会失效,配置会回归默认值,

2021-08-28 18:27:04 20976 13

原创 ‘gbk‘ codec can‘t encode character ‘\U0001f64f‘ in position 10085:错误解决

import io import syssys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030') #改变标准输出的默认编码 直接将以上代码放在你的代码中,简单粗暴!

2021-08-24 15:39:13 3654

原创 python爬虫中pyc文件的生成和使用

一、pyc文件是什么?python中的pyc扩展名文件,类似于Java的Class字节码文件,是由编译器编译得来的,供解释器使用;当我们部署程序时,不想暴露源码,可以使用pyc文件;它存在__pycache__文件里二、生成单个pyc方式一:命令行:使用python内置的py_compile库,操作简单;python3.6 -m py_compile test.pypython也可以不用指定版本-m的作用:把模块当作脚本来执行方式二:脚本:#!/usr/bin/env python3

2021-08-24 14:01:45 6910

原创 python爬虫中处理超时的三种方法

timeout(超时)首先是:为防止服务器不能及时响应,大部分发至外部服务器的请求都应该带着 timeout 参数。在默认情况下,除非显示指定了 timeout 值,requests 是不会自动进行超时处理的。如果没有 timeout,你的代码可能会挂起若干分钟甚至更长时间其次是:连接超时指的是在你的客户端实现到远端机器端口的连接时(对应的是 connect() ),Request 会等待的秒数。一个很好的实践方法是把连接超时设为比 3 的倍数略大的一个数值,因为 TCP 数据包重传窗口 (TCP pa

2021-08-20 12:38:23 12463

原创 怎样反爬虫和控制爬虫的速度

爬虫的工作人员都知道,爬虫的速度并不是越快越好。如果爬虫采集的速度越快,就越容易被发现,也就越容易被封IP。那么,怎么合理控制爬虫速度呢?一般情况,可以对每个页面抓取之间的延迟设置为最大来控制频率,这样不会给服务器造成负担,也不会因访问频繁被封。但这种方法会导致抓取的速度较慢,如果有大量抓取任务,会严重影响效率。有一种自然的解决方法就是等待时间动态变化,最小的时间间隔减去网页读取的时间,这样无论在网络流畅还是网络较差的时候,网页都是最小的时间间隔。但这种方法只适合单线程的爬虫小规模网站。还有一种方法就

2021-07-02 10:21:56 4808

原创 将已有的django项目推送到码云

一、初始化本地仓库输入命令:git init二、在虚拟机中配置代码推送人身份信息①git config --global user.name “名字”②git config --global user.email “邮箱地址”三、将项目文件推送至本地仓库(虚拟机中)①查看需要推送的项目文件②输入命令:git add . (将当前目录下的所有文件)③暂存区提交到仓库区,-m为添加注释信息输入命令:git commit -m “注释信息”四、添加远程仓库分支输入命令:git rem

2021-05-21 16:57:47 2993

原创 解决Django-Error: That port is already in use

对于Django新手,在学习过程中会遇到很多问题,其中经常遇到的问题就是Error: That port is already in use. 有两个方法可以解决(假设8000端口被占用):1.使用python manage.py runserver 8001 开一个新的端口。2.kill掉原来的端口(在root条件下)。2. 在终端输入lsof -i:8000,列出进程信息。3. 然后,找到进程的PID号,比如我的PID号就是241944. 输入kill -9 PID,比如kill -9 24

2021-05-21 13:45:35 3184

原创 Scrapy爬虫遇到301、302重定向问题解决办法

PS:有需要爬取网站数据的老板可以联系我,微信:n389660610根据 HTTP标准 ,返回值为200-300之间的值为成功的response。Scrapy运行爬虫过程中,目标网站返回301或302,而没有获取到想要的网页内容,表示请求失败,如下:2021-02-13 17:18:32 [scrapy.extensions.telnet] DEBUG: Telnet console listening on 127.0.0.1:60232021-02-13 17:18:33 [scrapy.dow

2021-05-12 10:54:48 9028

原创 为什么右键没有文本文档

本文介绍了两种方法,如下:1、运行regedit打开注册表编辑器展开HKEY_CLASSES_ROOT找到.txt选中.txt,查看右侧窗格的“默认值”是不是txtfile,如果不是,就双击修 改成txtfile在.txt上右击,选“新建->项”把新建项命名为ShellNew,如果有ShellNew就不用新建了。选中shellNew,然后“新建”->“字符串值”,将其名称设置为“nullfile”(不包含引号),值留空即可。一般出现无法新建本文文件,就是由这两个地方引起的。

2021-05-06 09:50:41 3128

原创 java环境变量配置好后双击jar文件无法运行的解决办法

最近在搞APP逆向的时候用到了java,不得不说配置java的坑是真多啊,好不容易配置好了,万事俱备了,第二天,手残的我在网上下载了个流氓软件,他妈的直接把我注册表篡改了,默认打开jar文件的java选项也没了,后来请教大佬才知道注册表问题,不废话了,上正题。步骤:1.打开注册表(开始->运行或WIN+R,输入regedit,确定);2.找到HKEY_CLASSES_ROOT/Applications/javaw.exe,一开始没有的话,就在资源管理器中找到javaw.exe文件,如我的电脑中为

2021-05-06 09:44:26 3895

原创 启动Anaconda时,弹出There is an instance of anaconda navigator already running error

当打开Anaconda时,弹出框There is an instance of anaconda navigator already running error,意思是anaconda已经在运行,但是你在任务管理器里却无法查看的,此时我们可以选择用CMD命令去结束进程。1、打开cmd2、在cmd窗口输入命令语句:tasklist | findstr “pythonw” (找到pythonw的PID,如:PID为16940)3、在cmd窗口输入命令语句:tskill 25376 或者 t

2021-04-16 17:00:45 58671 37

原创 python中使用schedule模块定时执行任务

python中有一个轻量级的定时任务调度的库:schedule。他可以完成每分钟,每小时,每天,周几,特定日期的定时任务。因此十分方便我们执行一些轻量级的定时任务.代码如下:import scheduleimport timedef job(name): print("her name is : ", name)name = "longsongpong"schedule.every(10).minutes.do(job, name)schedule.every().hour.do(

2021-04-15 14:43:20 5632 3

原创 python爬虫:scrapy-redis分布式爬虫(详细版)

本文是将现有的scrapy爬虫改造为分布式爬虫,为详细版,简略版请看https://blog.csdn.net/Aacheng123/article/details/114265960另外需要爬取网站数据的老板可以联系V:N389660610使用scrapy-redis改造前:import scrapyclass ExampleSpider(scrapy.Spider): name = 'example' allowed_domains = ['example.com']

2021-04-15 13:51:41 9469 1

转载 Fiddler过滤后抓包教程

Fiddler抓包可以完成我们移动开发者的调试测试需求。但是多余的网页请求和手机的其他链接影响我们手机开发的需求。所以我们需要排除其他无用的包,只关注我们指定的域名的请求包。如下图,先整体看看:1、 打开fiddler,找到Filters选项并点击打开。如图所示:默认情况下,这个页面是灰色的,代表默认不过滤任何请求。现在我们勾选 Use Filters 。2、Actions当所有的配置完成了,点击 Run Filterset now 就可以立即生效了。同时我们可以维护多套filters,在

2021-03-18 13:10:21 3354 1

转载 Python操作MongoDB文档数据库

1.Pymongo 安装安装pymongo: pip install pymongoPyMongo是驱动程序,使python程序能够使用Mongodb数据库,使用python编写而成;2.Pymongo 方法one_insert():插入一条记录;insert():插入多条记录;find_one():查询一条记录,不带任何参数返回第一条记录,带参数则按条件查找返回;find():查询多条记录,不带参数返回所有记录,带参数按条件查找返回;count():查看记录总数;create_in

2021-03-10 09:05:09 2992

原创 mongoengine使用的字段类型说明

创建modelclass User(Document): email = StringField(required=True) first_name = StringField(max_length=50) last_name = StringField(max_length=50)文档都是继承Document类。预留:字段类型:StringField,字符串。ListField,嵌套文档,这个列表中的每一个元素都是一个字典ReferenceField, 这是一个保存

2021-03-09 11:39:27 3714 1

原创 Mongodb的权限管理

1. 为什么要进行权限管理的设置刚安装完毕的mongodb默认不使用权限认证方式启动,与MySQL不同,mongodb在安装的时候并没有设置权限,然而公网运行系统需要设置权限以保证数据安全,所以我们要学习mongodb的权限管理2. mongodb的权限管理方案MongoDB是没有默认管理员账号,所以要先添加管理员账号,并且mongodb服务器需要在运行的时候开启验证模式用户只能在用户所在数据库登录(创建用户的数据库),包括管理员账号。管理员可以管理所有数据库,但是不能直接管理其他数据库,要先认证

2021-03-09 10:37:28 3375 1

原创 用 Python 实现定时自动化收取蚂蚁森林能量

1、概述提起蚂蚁森林我们都有忘记收取能量的时候,最后都被自己的好友收取,是不是很心痛本文我们来看一下如何使用 Python + Appium 实现定时自动化收取蚂蚁森林能量。2. 环境本文主要环境如下:Win10夜神模拟器Python3.7Appium1.5支付宝10.2.6.70103. 实现功能实现的基本思路为:打开支付宝进入蚂蚁森林,收取自己的能量收取完自己能量后,点击找能量进入好友蚂蚁森林,收取好友能量,以此类推参数配置代码实现如下:desired_caps = {

2021-03-08 14:08:37 3252

原创 daemon not running-adb连接报错解决

1、连接设备调试,会出现如下端口不可被用的报错信息。daemon not rug : starting now at tcp : 5037could not read ok from ADB Serverfailed to start daemonerror : cannot connect to daemon2、首先要检查端口5037是否被占用:netstat -ano | findstr “5037”如果存在TCP 127.0.0.1:5037 0.0.0.0:0 LISTEN

2021-03-08 13:48:24 15266

原创 mysql数据库指定ip远程访问

1、登录mysql -u root -p之后输入密码进行登陆2、权限设置及说明添加远程ip访问权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.199.99' IDENTIFIED BY 'FEFJay' WITH GRANT OPTION;flush privileges;命令解释:第一行中,192.168.199.99是阿里云内网的一个地址,这个是允许远程访问的IP的值。自行改为其他值。root是账户名,后面的FEFJay是密码。即,

2021-03-05 16:02:51 6935 1

原创 爬取小舒代理免费代理IP,并验证IP是否有效

爬虫爬取免费代理ip,验证代理ip有效性,保存到本地txt,建立代理池使用多线程+队列+正则匹配,对免费代理ip网站和查询自身ip网站(验证代理ip是否有效)发送请求,如果代理ip为有效,保存至本地txt文件中,建立自己的私人有效代理ip池。代码:#!/usr/bin/env python# -*- coding: utf-8 -*-# 爬取小舒代理,并检验代理IP是否可用,将可用IP保存为TXTimport requestsimport threadingfrom queue import

2021-03-05 14:39:36 5810

原创 python爬虫:scrapy-redis实现分布式爬虫

环境搭建1、需要安装 scrapy 和 scrapy-redispip install scrapypip install scrapy-redis2、安装配置好 redis如果是mac种用homebrew安装的redis,配置文件路径为:/usr/local/etc/redis.conf修改配置文件打开redis.windows.conf,注释掉第56行# bind 127.0.0.0接着修改第75行,将yes改为noprotected-mod no在123行添加代码d

2021-03-01 16:53:26 12405 1

原创 python通过手机号(批量)解析出归属地、运营商、邮编、区号

python解读出手机号的归属地、运营商、邮编、区号,此处是存储在excle表格里,xlsx文件内不能有中文名称,包括表头from phone import Phoneimport xlrdimport xlwtdef Get_Excel_data(): file = 'C:\\Users\\Acheng\\Desktop\\工作簿4.xlsx' #手机号码所在的Excle文件,xlsx文件内不能有中文名称,包括表头 re1 = xlrd.open_workbook(file)

2021-02-26 14:08:21 3884

原创 Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接

Could not connect to Redis at 127.0.0.1:6379:由于目标计算机积极拒绝,无法连接一、错误原因这个错误发生在连接redis服务的时候,即原因:在下面的cmd窗口输入了上面的命令,或者关闭该窗口输入了上面命令二、解决办法输入命令redis-server.exe redis.windows.conf后,千万不要关闭!重新打开cmd窗口输入redis-cli.exe-h 127.0.0.1OK!大功告成!...

2021-02-25 16:17:15 6246 2

原创 scrapy框架之增量式爬虫

scrapy框架之增量式爬虫一 、增量式爬虫什么时候使用增量式爬虫:增量式爬虫:需求 当我们浏览一些网站会发现,某些网站定时的会在原有的基础上更新一些新的数据。如一些电影网站会实时更新最近热门的电影。那么,当我们在爬虫的过程中遇到这些情况时,我们是不是应该定期的更新程序以爬取到更新的新数据?那么,增量式爬虫就可以帮助我们来实现二 、增量式爬虫概念:通过爬虫程序检测某网站数据更新的情况,这样就能爬取到该网站更新出来的数据如何进行增量式爬取工作:在发送请求之前判断这个URL之前是不是爬取过在解

2021-02-25 16:05:12 13102

原创 Ubuntu安装mysqlclient报错

安装mysqlclient报错,ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.如下图!解决方式:在ubuntu系统中安装libmysqlclient-devapt-get install libmysqlclient-dev安装成功!...

2020-09-11 20:20:06 3124

scrapy框架示例爬取网站源码

最完整scrapy框架源码!示例爬取网站源码

2021-03-23

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

TA关注的人

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