- 博客(61)
- 收藏
- 关注
原创 【phpstudy无法启动mysql服务解决方法】
加粗样式最近使用phpstudy搭建靶场得时候,mysql启动1s不到立马停止,网上搜索了很多方法,尝试了两天都不奏效,并不能重启mysql,点到服务里面也无法启动mysql。偶然间发现删除windows得mysql服务之后,就可以重启了。使用管理员打开CMD删除对应的mysql服务即可。
2023-03-03 11:22:42 207
原创 【JS逆向-RSA案例】
1.首先打开调试工具,随意输入错误的账号密码,查看请求的登录接口,仅有pwd这个参数进行了加密,除了uid是账号外,其他的2个参数就是固定的。2.打开全局搜索,pwd关键字,可见到关键加密的地方,点击去。3.局部搜索关键字pwd,会发现有两处地方对pwd进行了加密处理,回到登录页面可以看到,有两种登录方式,两次加密,所以不确定是哪个,就都打上断点4.再次点击登录按钮,会发现程序停在了该断点处,说明断点的位置正确!...
2022-05-31 16:17:08 507
原创 【Python协程爬虫】
import aiohttpimport asyncioimport randomimport requestsfrom lxml import etreeimport rebase_url = 'https://www.pearvideo.com/'def request_list(p): # 获取第p页视频列表 url = base_url + 'category_loading.jsp' params = { 'req
2022-05-28 22:09:59 261
原创 python之hash去重
众所周知python可以很方便的使用set去重,可用于爬取URL避免重复爬取相同的链接,如下l = [1, 1, 2, 3, 5, 5]print(set(l)){1, 2, 3, 5}那么set是如何实现去重的呢?通过散列函数对数据进行处理,即hash。hash可以将数据进行加密压缩处理,使数据都固定了大小,于是比原始数据的小很多,每一个不同的数据,散列值都不相同,即不同的数字指纹。可通过判断指纹重复即可实现去重。class MySet(object): def.
2021-02-24 23:01:34 1735
原创 python-闭包与装饰器
这是我的一个函数,需要为其添加许多新的功能,假如里面有几百行代码,但需要在不改变其原有的代码条件下进行。def my_func(): print('this is my func ...')那么现在想到的就是使用一个嵌套函数,传入一个函数对象给外函数,外函数返回内函数的调用, 然后传入函数对象给内函数,然后调用该函数,于是完成了不改变原有函数的条件下,添加了新的功能。def func_outer(func): print('this is outer func ...').
2021-02-07 15:14:07 252 2
原创 python- pipenv
今天准备创建一个新的虚拟环境做项目,进入到新的项目文件下,直接pip shell创建新的虚拟环境E:\codes\my_flask>pipenv shell尴尬的一幕发生了,直接给我报错AttributeError: 'NoneType' object has no attribute 'version_sort'好家伙,吓得我我直接查看帮助,多么清洗的描述啊!E:\codes\flask_study>pipenvUsage: pipenv [OPTIONS] COMMAND
2021-02-06 15:44:47 263 1
原创 爬虫-大众点评网雪碧图
首先可以看到大众点评源码都是这样的,有些字体经过css加密,需要获取到其css、svg文件,相当css文件中有每一个字体编码的位置,可以在svg文件中查询到。svg文件svg源码css 文件, 其中y轴的偏移量如果小于 svg文件中对应的y值, 就在那一行查询x的偏移量,因为font-size:14px x的偏移量除以14 就是那一行对应的第几个汉字了。同时他的地址和电话、评论的css、svg文件都不一样,而且每天都会更新文件。...
2021-02-05 16:06:06 180
原创 MySQL
MySQL数据库搭建基础语法数据库操作表操作创建表修改表结构添加表数据修改表数据添加索引查询语句python交互事务ACID数据库搭建基础语法数据库操作CREATE DATABASE students; -- 创建数据库USE students; -- 切换到该数据库SELECT DATABASE(); -- 查看当前使用得数据库DROP DATABASE students; -- 删除表操作创建表# 其中id 为字段, INT(11) 指定了id为int类型数
2021-02-03 17:31:09 123
原创 pyhton-eval方法
eval方法有时候觉得if…elif…写出来的代码台臃肿,那么可以使用eval()方法,如下:def func1(): print('I am function 1')def func2(): print('I am function 2')def func3(): print('I am function 3')my_func = { '1': 'func1', '2': 'func2', '3': 'func3'}while
2021-01-26 16:15:36 179 2
原创 python- sys.argv
有时候觉得if…elif…写出来的代码台臃肿,那么可以使用eval()方法,如下:def func1(): print('I am function 1')def func2(): print('I am function 2')def func3(): print('I am function 3')my_func = { '1': 'func1', '2': 'func2', '3': 'func3'}while True:
2021-01-25 22:16:37 123
原创 pandas离散化cut
import pandas as pdimport numpy as npdf = pd.DataFrame([12,23,34,32,43,54,78,45,76], columns=["score"])df将连续值进行分区间bins = [0,60,85,100]pd.cut(df["score"], bins=bins)设置文本标签label = list("差中优")pd.cut(df["score"], bins=bins, labels=label).
2020-05-17 15:05:58 281
转载 selenium滚动页面
滚动页面window.scrollBy()window.scrollBy(0,500) 向下滚动500个像素window.scrollBy(0,-500) 向上滚动500个像素window.scrollBy(500,0) 向右滚动500个像素window.scrollBy(-500,0) 向左滚动500个像素selenium实现driver.execute_script(‘window.scrollBy()’)driver.exec
2020-05-17 14:27:16 1152 1
原创 pandas-时间序列&重采样
现有每天数据24万条,根据月份统计来电次数读取数据。 其中有一些缺失数据,选取计数结果不选这一列就行import pandas as pddf = pd.read_csv("911.csv")df["timeStamp"] = pd.to_datetime(df["timeStamp"])df.info()将时间戳设置为索引df.set_index("timeStamp", inplace=True)df根据月份重采样# 根据月份 重采样 计算来电次数df = d
2020-05-15 15:00:03 1398
原创 pandas分组聚合
现有一组关于全球星巴克店铺的统计数据,想知道排行最多的星巴克店铺数量的10国家。读取数据如下:import pandas as pd# 设置显示所有列pd.set_option("display.max_columns", None)# 读取csv文件df = pd.read_csv("starbucks_store_worldwide.csv")df.head(5)查看数据的大致情况,可以看到一共有2万多条数据,但有些数据是缺失的# 查看表格整体情况df.info()
2020-05-08 21:22:54 482
原创 pandas离散字符串
现有数据,需要将genre这列,电影分类数据统计出来,如下:首先导入库,读取数据:import pandas as pdimport numpy as npdata = pd.read_csv("IMDB-Movie-Data.csv")data.head()需要注意的是一部电影可能会有多个分类,所以我们需要将该列数据进行处理,使用str.split()方法将字符串用逗号...
2020-05-07 14:13:26 247
原创 爬取贝壳平台新房数据并可视化
先爬取数据import requestsimport timeimport randomfrom lxml import etreeimport csv# 设置请求头user_agents = [ "Mozilla/5.0 (Windows NT 5.1; rv:30.0) Gecko/20100101 Firefox/30.0", "Mozil...
2020-04-27 17:04:50 3398 3
原创 matplotlib微博点赞和评论数据可视化
使用Python读取该文件数据????weibo.csv,并且将数据可视化。时间:x轴attitudes_count与comments_count:y轴设置图片美观,清晰from matplotlib import pyplot as pltimport matplotlibimport csv# 设置中文显示font = { 'family':'SimHei', ...
2020-04-23 14:24:21 716 2
原创 拉勾网招聘python工作年限要求分布情况
数据是之前使用爬取到的,使用jupyter notebook,开始先导入库:import matplotlibfrom matplotlib import pyplot as pltimport pandas as pdimport re数据读取:# read file df = pd.read_csv("data.csv", encoding="gbk")# delete e...
2020-04-15 16:32:24 365
原创 MySQL、SQLyog的使用
介绍:SQL是一种结构化查询语言,可用来查询RDBMS(关系型数据库管理系统),当前关系型数据库都支持使用SQL语言进行操作,即可通过SQL操作oracle,sql server,mysql等关系型数据库。基本数据结构:...
2020-04-12 12:49:15 1037
原创 SMTP-发送邮件
Excel文件用于存放信息,邮箱还需开启smtp服务:实现代码如下:import smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.application import MIMEApplicationfrom email.mime.text import MIMETextimport xlrd...
2020-04-09 13:23:27 931
原创 jupyter notebook快速入门及python读写文件
简介:jupyter notebook是一个轻量级,可以使用web进行编写代码的程序,非常适用于数据分析等,不仅可以写代码,还可以使用markdown语言,代码执行结果可随时查看。如果一次读取文件的文件过大,使用pycharm操作,每一次调试都要重新读取一次文件,消耗的时间太多,而jupyter是可交互的,并且快捷键很多,几乎可以不使用鼠标操作,使用起来超级方便。其实写代码的工具没有好坏之分,只...
2020-04-08 14:12:15 12213
原创 爬虫- tesseract图片识别
mport pytesseractimport requestsimport refrom bs4 import BeautifulSoupfrom PIL import Imagedef get_data(): # 先请求网页,获取基本的数据 url = 'http://wh.ziroom.com/z/' headers = {'User-Agent': 'Moz...
2020-04-05 23:01:17 425 2
原创 pandas-多文件合并
使用glob获取所有得excel文件,pandas读取文件,保存至同一个文件中import globimport osimport pandas as pdclass MergeExcel(object): def __init__(self, headers): # 需要提取的列名 self.headers = headers ...
2020-04-05 18:24:17 1063
原创 使用selenium识别小破站的验证码滑块
实现原理:使用selenium模拟登录,获取验证码有缺口的验证图片及没有缺口的图片,然后比对俩个图片的每一个像素点,知道了滑块需要拖动多远的距离,使用行为链进行拖动。这样就实现了模拟登录bilibili咯。from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChains...
2020-04-05 12:37:28 468
原创 scrapy-crwalspider 自如网
首先做一下页面分析:再看一下我的文件结构,因为是使用crwalspider,所以的话,我们先写每一个页面的详情页面链接的提取器,可以边写边调试,验证代码是否存在bug,便于及时修改。写好了详情页的链接提取规则,然后查看response是否为空,如果没问题,继续写提取详情页内容的代码,打印看一下item是否提取正确。最后再写获取下一页的提取规则。spider文件如下:import scra...
2020-04-01 15:02:34 336
原创 MongoDB的分类、聚合
mongodb的find方法虽然可以查询到数据,但是需要做分类、聚合的时候,有时候就不够用了,所以就需要用到aggregate方法。在mongodb中是通过管道对数据进行分组、过滤等功能的实现,可以由多个管道经过一系列的处理,获得我们想要的数据。$group 将文档根据条件分组聚合使用group的时候,使用 _id:"$字段" 这样的模式 ,根据字段来分类还可以添加sum等表...
2020-03-31 16:22:32 927
原创 MongoDB增删改查的使用
使用mongodb的好处就是想怎么存就怎么存,不需要考虑表格的结构,所以特别适合存储爬虫数据。首先官网下载对应版本的MongoDB,然后安装到指定路径中,使用cmd进入目标bin文件夹,命令如下:C:\Users>d:D:\>cd mongodb\binD:\MongoDB\bin>mongod --dbpath D:\mongodb\bin一般有这个提示就表示服务...
2020-03-31 13:00:36 207
原创 RedisCrawlSpider爬取当当图书信息
首先查看以下当当网的页面结构,可以看到的是图书的大小分类都在class="con flq_body"的div中。记得要看看页面源代码中是否有这些数据噢然后可以看到所有小分类的链接都在class="inner dl"的dl标签中,所以使用link_extractor可以直接提取,再到详情页面获取大小分类。然后将下一页的链接也提取出来,这样就可以获取到所有的数据咯具体分析已经做完就可以开始敲...
2020-03-30 23:30:48 254
原创 Redis和Python交互
首先需要下载安装redis库pip install redis记得要先使用cmd或者手动打开redis数据库得服务端,然后再开始写代码,以下是使用python操作string类型得增删改查,以面向对象得方式进行一个测试import redisclass RedisTest(object): def __init__(self): # 创建客户端 因为是链接得本地,所...
2020-03-30 18:28:50 223
原创 Redis的数据类型及常用增删改查
Redis: 为NoSQL型数据库, 主要数据结构有string、list、set、hash、zset优势: 1.存储速度快、2.数据结构丰富、3.可用于缓存、消息等我选择将redis安装在d盘,打开cmd开启Redis服务端:进入d盘文件目录下,命令行如下所示,出现服务等待连接的提示就说明服务器开启成功然后开启客户端,就可以使用redis数据库了。命令行如下:简单使用DBSIZ...
2020-03-30 18:08:26 234
原创 爬取摩拜单车的车辆定位信息
需要注意的地方就是添加请求头,scrapy使用带有表单数据请求的方式,spider文件如下:# -*- coding: utf-8 -*-import scrapyimport csvimport jsonclass MobickSpider(scrapy.Spider): name = 'mobick' allowed_domains = ['mobike.com']...
2020-03-30 13:24:53 784 1
原创 通过高德接口,获取合肥市小区的经纬度
上一篇博客说过如何使用高德开放平台,那么现在来试试使用它的接口来获取信息把!# -*- coding: utf-8 -*-import scrapyimport jsonclass GaodeSpider(scrapy.Spider): name = 'gaode' allowed_domains = ['amap.com'] start_urls = ['htt...
2020-03-30 13:14:06 566
原创 如何使用高德开放平台
需要注册登录哦!查看IP定位开发文档记得要申请KEY哦,而且每天请求次数有限制的哦,别乱玩儿很棒的开放平台哦!!!查看文档基本啥功能都有~~~...
2020-03-29 22:51:37 2033
原创 CrawlSpider的使用方法
首先使用cmd创建项目,创建完成之后,修改start_urls之后就可以开始写rulescd 至目标文件夹下scrapy startproject project_name 创建crawlspider项目cd project_name 至项目文件夹中scrapy genspider -t crawlspider spider_name all...
2020-03-29 22:21:46 586
原创 爬取盗墓笔记
前面做过的一个小项目,适合练手import requestsimport jsonfrom bs4 import BeautifulSoupdef get_html(): # 请求获得html url = 'http://seputu.com/' headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Wi...
2020-03-29 21:49:28 354
原创 爬取全书网
# 全书网小说爬取import reimport requestsclass QuanShuSpider(object): def __init__(self): self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, l...
2020-03-29 21:46:35 305
原创 Scrapy爬取京东图书信息
网页结构比较简单,需要注意的是,获取价格需要找到它的接口,还需注意的是传递item的时候需要深拷贝,避免item的值重复,以下是spider文件# -*- coding: utf-8 -*-import scrapyfrom copy import deepcopyimport jsonclass JsbookSpider(scrapy.Spider): name = 'jd...
2020-03-28 17:47:42 415
原创 scrapy-redis的settings文件配置
提前安装scrapy_redis库,下载redis数据库,打开redis服务端,然后直接创建scrapy文件,最后添加以下常量至settings文件即可实现分布式DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"SCHEDULER = "scrapy_redis.scheduler.Scheduler"SCHEDULER_PE...
2020-03-28 14:59:04 553
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人