![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python笔记
文章平均质量分 53
look ahead to
这个作者很懒,什么都没留下…
展开
-
APP抓包踩坑记录
AP练习题踩坑记录原创 2023-01-12 16:37:28 · 574 阅读 · 0 评论 -
GlidedSky-爬虫-字体反爬-1
这次的爬虫其实和上次的雪碧图原理是差不多的,直接打开爬取的网站打开开发者中心。网页的数字和显示的数字是完全不同的。因为我们事先已经知道了是字体的反爬。所有直接看看字的样式。对css了解的人应该可以看到这个标签样式的含义。就是指定一个元素的字体。既然指定了字体,那么肯定是要加载的,我直接搜索一下这个字体的名字。很好,只有两处,其中一处还是我们刚才看到的。看到这里就可以看到和雪碧图是一样的吧,也是一个base64 的编码,因为这次的data是font的格式,我们直接用python转换。# 为了演.原创 2020-09-15 11:34:28 · 319 阅读 · 0 评论 -
GlidedSky爬虫雪碧图-1
上图就是这次爬虫练习的介绍了。下面可以直接开始了,因为知道是全部都是图片拼成,我们可以直接看一下谷歌浏览器的开发者工具。看到真的什么都没有啊,没有数字,只有一个class的属性,因为我们前提是知道是有图片组成的, 所以我们可以看下他的css的组成都是什么意思。在这里我的想法是看css的样式,可以通过浏览器对css的操作大概看下对网页的影响。邮编可以直接看到这个class当前的属性,在我吧background-position-x这个样式的对勾取消之后,可以看到数字2变成了数字0,同时我吧widt.原创 2020-09-14 17:59:40 · 383 阅读 · 1 评论 -
GlidedSky 爬虫-JS加密1
这次爬取的是一个爬虫的练习网站,主要是JS的加密,先看一下网站的这几加密的介绍主要是AJAX的一个请求,那我们可以直接开始了。因为主要是AJAX的请求,我们看一下xhr的加载就可以了。这里有两个请求,点开分别看一下就知道我们主要是需要第一个请求了。第一个链接返回的是一个JSON。我们可以看到他的参数一共有三个,page肯定就是页数,t看样子应该是一个时间戳,主要就是sign的生成。我的思路是先全局搜索一下sign。一共是有三个页面包含这个参数的,点进去搜索了一下sign,发现第二页页面只原创 2020-09-12 16:19:43 · 417 阅读 · 0 评论 -
MySQL随笔回顾
查询不重复的记录select distinct 字段 from 表名;1.distinct必须放在最开头2.distinct只能使用需要去重的字段进行操作。 ----也就是说我sidtinct了name,age两个字段,我后面想根据id进行排序,是不可以的,因为只能name,age两个字段进行操作.3.distinct去重多个字段时,含义是:几个字段 同时重复 时才会被 过滤。...原创 2020-05-07 17:30:44 · 170 阅读 · 0 评论 -
APScheduler学习详解
安装pip install apscheduler源码安装python setup.py installAPScheduler 四种组成触发器,作业存储,执行器,调度器添加作业add_job()通过add_job()添加import timefrom apscheduler.schedulers.blocking import BlockingScheduler...原创 2020-01-04 17:18:50 · 301 阅读 · 0 评论 -
python常用OS模块
https://blog.csdn.net/ityard/article/details/103721976本文转载至链接地址,收藏观看转载 2019-12-29 10:57:18 · 114 阅读 · 0 评论 -
docker安装mysql、Redis、推送自定义镜像到阿里云
docker安装mysql1. 在docker hub上查找mysql docker search mysql2. 拉取固定版本的mysql docker pull mysql:版本号3. 运行mysql命令 docker run -p 3306:3306 --name mysql -v 本地容器卷:docker容器卷 -e MYSWL_ROOT_PASSWORD=123456 ...原创 2019-12-24 21:03:16 · 214 阅读 · 0 评论 -
dockerfile基本操作
dockerfile内容基础知识每条保留字指令必须为大写字母并且后面要跟随至少一个参数指令按照从上到下。顺序执行每条指令都会创建一个镜像层,并对镜像进行提交docker执行dockerfile流程docker从基础镜像运行一个容器执行一条指令并对容器进行修改执行类似docker commit的操作提交一个新的镜像docker再基于刚才提交的镜像运行一个新的容器执行d...原创 2019-12-23 15:31:42 · 171 阅读 · 0 评论 -
docker随笔命令----容器数据卷
docker commit 提交容器副本使之成为一个新的容器docker run -it -p 6666:8080 tomcat 从hub上下载Tomcat镜像到本地并成功运行, -i 交互 -t 终端 -p 端口 -P(大写) 分配随机端口docker commit -a="xxxx" -m="xxxxx" 容器ID 容器名字:标签名(中间用冒号隔开...原创 2019-12-20 21:30:04 · 121 阅读 · 0 评论 -
斗破苍穹网小说爬取,
import requestsfrom lxml import etreeimport timeimport jsonimport re# 书面链接有每本书的编码,可复制到这里修改book_name = 130900# https://doupocangqiong1.com/130900/url = f'https://doupocangqiong1.com/'header...原创 2019-12-19 19:16:58 · 479 阅读 · 0 评论 -
docker常用命令
Dcoker常用命令帮助命令docker info docker --helpdocker version镜像命令列出本地主机上的镜像docker images-a 列出含中间镜像层-q 显示当前镜像的ID-qa 显示所有的镜像ID--digests 显示镜像的摘要信息--digessts --no-trunc 显示完成的镜像信息docker search x...原创 2019-12-18 15:51:45 · 83 阅读 · 0 评论 -
docker基本使用
docker的三大要素镜像,仓库,容器docker的安装centOS6.8的安装yum install -y epel-relese 安装依赖库yum install -y docker-io 正式安装docker配置文件地址: etc/sysconfig/cocker启动docker后台服务: serveice docker startdocker ve...原创 2019-12-18 15:09:41 · 142 阅读 · 0 评论 -
Python词云生成(词云清晰度)
import sys, jiebaimport jieba.posseg as psgfrom collections import Counterfrom wordcloud import WordCloud, ImageColorGeneratorimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Ima...原创 2019-11-22 10:28:05 · 5614 阅读 · 3 评论 -
centos6.x下安装python3.6.1
安装环境yum install zlib-devel bzip2-devel openssl-devel ncurese-devel gcc zlib下载pythonwget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz解压源码包进入到解压完的python源码包目录下安装目录可以自己修改 tar zxvf...原创 2019-11-17 18:33:33 · 125 阅读 · 0 评论 -
快代理爬取免费代理
爬取快代理网址,提取免费代理,并将可用代理保存在本地,(练习爬虫,因为很多免费代理只能用一次)本次利用消息队列,对多个URL同时提取,注意延迟访问,import requestsimport timeimport randomfrom lxml import etreefrom fake_useragent import UserAgentfrom queue import Queu...原创 2019-08-11 11:55:36 · 2476 阅读 · 0 评论 -
Java Script
一.Java Script介绍 面向对象的编程语言,也称为浏览器解释型语言 html文件中交给浏览器解释和执行。组成: 1.核心语法(ECMAScript5) 2.BOM(Browser Object Mode1)浏览器对象模型,提供操作窗口的方法 3.DOM(Document OBject Mode1)文档对象模型,提供操作页面元素的方法 4.Ajax 可以使网页实现异...原创 2019-08-24 12:26:52 · 1397 阅读 · 0 评论 -
哔哩哔哩视频爬取
今天突然想起 哔哩哔哩手机上可以直接下载啊 那么,我选择一个手机的UA,是否可以直接获取下载链接,就粗略试了下,因为是在电脑端模拟手机的UA,发现下载下来的是流畅视频,时间太晚了 下载1080P估计也是一个思路,以后再写吧!可以凑乎看,或者有兴趣的小伙伴可以试试。也就几行代码。import requestsimport reav = input('请输入哔哩哔哩的AV号:')# u...原创 2019-08-20 22:47:26 · 1740 阅读 · 0 评论 -
正则解析RE模块
方式一r_list=re.findall('正则表达式',html,re.S)第一个参数,正则表达式第二个参数,搜索的是那些字符串第三个参数,匹配的模式,其中re.S使匹配包括换行在内的所有字符。findall()函数是逐行匹配的。创建正则编译对象pattern = re.compile('正则表达式',re.S)r_list = pattern.findall(htm...原创 2019-08-14 12:22:12 · 167 阅读 · 0 评论 -
分布式爬虫Redis设置
转载博客https://blog.csdn.net/qq_42543312/article/details/81635772转载 2019-07-23 09:47:30 · 141 阅读 · 0 评论 -
flask框架转载
一、请求钩子https://blog.csdn.net/hyman_c/article/details/53558134二、Flask上下文https://www.bilibili.com/video/av43295577/?p=24三、模板过滤器和自定义过滤器https://blog.csdn.net/fanlei5458/article/details/80341278...转载 2019-07-24 18:48:54 · 127 阅读 · 0 评论 -
异步asyncio
初步接触异步,简单地访问一张图片,异步启动的方式是规定的 ,只需要按规范书写就可以了,import aiohttp, asyncioasync def get_content(link): # 传入的是图片链接 async with aiohttp.ClientSession() as session: async with session.get(link)...原创 2019-09-21 15:32:32 · 133 阅读 · 0 评论 -
redis 数据库---【2】
Redis数据库切换select 数据库名看所所有的键 keys *插件键的类型type key键是否存在exists key删除键del key键重命名rename key newkey返回旧值并设置新值。如果键不存在就创建新的getset key value清楚当前库中的所有数据flushdb清楚所有库中的所有数据flushall10.注意事项...原创 2019-07-16 15:14:05 · 79 阅读 · 0 评论 -
博客园验证码测试
记一次博客园验证码登录 使用selenium模拟,主要是修改图片的css代码 将缺口补上,然后利用加速度滑动(加速度代码复制的),只是一种简单的滑动类型的验证码,只为测试 不做其他import timefrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver import ActionCh...原创 2019-08-25 21:13:17 · 280 阅读 · 0 评论 -
git常用命令
一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]二、配置# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global...原创 2019-08-16 11:53:59 · 73 阅读 · 0 评论 -
普通Scrapy为增量式爬虫
安装Scrapy-Redis启动方式和scrapy一样,只需要在setting里添加固定设置即可使用Redis的set集合来去重DUPEFILTER_CLASS = “scrapy_redis.dupefilter.RFPDupeFilter”增加了调度的配置, 作用: 把请求对象存储到Redis数据, 从而实现请求的持久化.SCHEDULER = “scrapy_redis....原创 2019-08-12 17:56:29 · 152 阅读 · 0 评论 -
大概的反爬措施
一反爬措施及策略:用于请求的headersheaders:在爬虫中添加headers(将浏览器的User-Agent复制到爬虫的Headers中,将Refere的值修改为对应目标网站域名)基于用户行为反爬虫同一ip短时间内多次访问同一页面使用代理ip同一账户短时间内多次进行相同操作每次请求后随即间隔几秒再进行下一次请求,有的网站可以通过请求多次,退出登录,重新登录来绕过...原创 2019-08-21 18:23:19 · 334 阅读 · 0 评论 -
某医疗公司爬取信息
页面全部为JS动态加载,算是练手,因为写的实在太累了,就不封装方法了 ,import reimport requestsfrom fake_useragent import UserAgentfrom lxml import etreeimport sys# 设置页面COOKIE = '此处写入登录的COOKIE'ua = UserAgent()# 最初始的访问页面name...原创 2019-08-17 17:43:56 · 619 阅读 · 0 评论 -
selenium自动化图片不加载设置
设置selenium自动化Chrome浏览器的图片不加载 2就是不加载options = webdriver.ChromeOptions()prefs = { 'profile.default_content_setting_values': { 'images': 2, } }option...原创 2019-09-04 17:28:05 · 9096 阅读 · 0 评论 -
将xlsx文件改后缀读取图片
本代码转载至脚本之家。xlsx文件里面有图片需要提取生成新的文件,本代码主要是讲xlsx文件改后缀成zip。然后利用Python讲zip解压缩,讲图片保存到本地,'''File Name: readexcelimgAuthor: timDate: 2018/7/26 19:52Description: 读取excel中的图片,打印图片路径 先将excel转换成zip包,...原创 2019-09-12 18:01:44 · 727 阅读 · 0 评论 -
Python第三方的多线程数据库连接池
from DBUtils.PersistentDB import PersistentDBpool = PersistentDB( creator=pymysql, # pymysql 连接 host=你的IP地址, user='用户名', passwd='密码', db='库名', port=3306, maxusage=None, ...原创 2019-09-30 15:28:10 · 706 阅读 · 0 评论 -
多任务并发编程--进程--基于fork--僵尸进程--聊天室
一. 多任务并发编程意义: 充分利用计算机资源,同时处理多个任务,提高程序的运行效率并行和并发 并行:多个任务利用计算机多核资源在同时执行,此时多个任务间是并行关系 并发:同时处理多个任务,内核在任务间不断的切换达到很多任务都被同时处理的效果,实际每个时刻只有一个任务在被执行。实现方法:多进程,多线程二. 进程 (process)定义: 程序在计算机中...原创 2019-05-24 22:21:55 · 183 阅读 · 0 评论 -
Redis数据库的基本操作
Redis的安装链接: https://pan.baidu.com/s/1nOgj4l6Gyj70ji47_TUPBw 提取码: uw4g配置Redis重命名 redis.windows.conf 为 redis.conf,作为redis服务的配置文件cmd命令行,进入到redis-server.exe所在目录执行:redis-server --service-install ...原创 2019-07-16 11:58:36 · 119 阅读 · 0 评论 -
mysql数据库的引擎
Innodb优点:Innodb引擎提供了对数据库ACID的事务的支持,并且实现了SQL表的四种隔离级别。该引擎还提供了行级锁和外键约束。设计目的是处理大容量数据库系统,缺点:不支持Fulltext类型的索引,没有保存表的函数,导致在select count(*) from table 的时候需要扫描全表,当需要使用数据库事务时该引擎是首选,因为锁的颗粒小,写操作不会锁定全表。在高并发...原创 2019-07-18 14:18:46 · 79 阅读 · 0 评论 -
随笔--字典setdefault
python字典方法:setdefault如果键不存在于字典中,将会添加键并将值设为默认值。与get()方法类似 dict.get('key',default=None)原创 2019-07-15 16:11:54 · 94 阅读 · 0 评论 -
WEB全栈--模型Models----(1)
WEB全栈模型-Models什么是模型模型:根据数据库表结构而创建出来的class一张表一个类一个字段就是一个属性模型框架—ORMORM – Object Relational Mapping对象关系映射ORM,O/RM O/M MappingORM的三大特征数据表到编程类的映射数据类型的映射关系映射将数据库中表与表之间的关系,对应到编程语言中类与类...原创 2019-05-30 17:55:03 · 291 阅读 · 0 评论 -
MySQL数据库事务
数据库事务什么是事务:指数据库执行的一组操作(增删改)要么全都执行,要么全部不执行作用:保证数据的一致性,完整性事务的特点(ACID特点)1)原子性(atomicity):一个事务是不可分割的整体,要么全都执行,要么全都不执行2)一致性(consistency):事务执行完成后,数据库从一个一致性状态变成下一个一致性状态3)隔离性(Isolation):不同的事务不会相...原创 2019-05-18 14:34:21 · 119 阅读 · 0 评论 -
MySQL数据库权限
权限管理什么是权限:用户可以执行哪些操作权限分类1)用户类:创建/删除/修改用的权限给其他用户授权的权限2)库/表操作:建库/删库/修改库的权限建表/删表/修改表的权限3)数据操作:增删改查权限相关的表1)user:最重要的一个系统表,存储了用户,密码以及用户所拥有的的权限2)db:记录了库的授权信息3)table_priv:记录了表的授权信息4)column_priv:...原创 2019-05-18 14:30:09 · 1217 阅读 · 0 评论 -
MySQL数据库索引
– 索引。1.什么是索引:提高查询效率的一种技术2.原理:根据某一列(字段)进行分段、排序,通过避免全表扫描提高查询效率、3.索引的分类1).普通索引、唯一索引普通索引:Mysql基本类型,字段值可以重复唯一索引:字段的值不能重复(可以为空)2).单列索引,,组合索引单列索引:一个索引只包含一个字段组合索引:一个索引包含多个字段3).聚集索引、非聚集索引聚集索引(cluste...原创 2019-05-18 09:09:48 · 106 阅读 · 0 评论 -
GIL问题--进程线程区别--通信模型--FTP代码
一. 同步互斥方法 Lockfrom threading import Locklock = Lock() 创建锁lock.acquire() 上锁 如果lock已经上锁会阻塞lock.release() 解锁 with lock: 上锁 ... ... with 代码块结束自动解锁from threading import Lock,Th...原创 2019-05-25 16:04:44 · 137 阅读 · 0 评论