- 博客(92)
- 资源 (5)
- 收藏
- 关注
原创 字体反爬-解析字体文件
3.每一次请求的字体反爬数据都不一样,需要根据response实时获取到数据包的url,请求url,下载数据包再转换为xml,拿到解析后的关系映射表。1.每一个网站的都不一样,可以理解是一种加密算法。入门级字体反爬【高级KNN,OCR,2.是一种后缀为woff的文件。
2022-10-23 16:37:58
440
原创 JS 解析
-js代码 >> 使用window 却没有定义window,通过控制台知道window[d]是个固定值,即'320305.131321201',直接在js里面赋值即可。-- settings - Languages & Frameworks - Node.js and NPM里面,配置好前面安装的node.js的路径即可。-- settings > plug-in > 搜索node.js 安装即可。6.复制对应的js代码块,到本地文件(可以复制对应的部分,实在不行复制全部)--python代码。
2022-10-19 23:48:41
491
原创 迭代器和生成器
通过iter()函数取得可迭代对象的迭代器,对获取到的迭代器对象不断的使用next()函数获取下一条数据,取完元素后,再使用next()引发StopIteration异常。yield语句一次返回一个结果,在每个结果中间,挂起函数,以便下次从它离开的地方继续执行。2.生成器函数python中,使用了yield的函数被称为生成器(generator)定义方式类似于列表推导式,把列表推导式的[]改成()就行。迭代器有两个函数iter()和next()1.满足以下条件的对象可以成为可迭代对象。...
2022-08-02 14:13:43
264
原创 面向对象-Python
OOP思想以模块化思想解决工程问题面向过程vs面向对象由面向过程转向面向对象常用名词00面向对象ooa分析ood设计oop编程ooI实现类vs对象类抽象,描述的是一个集合,侧重于共性对象具象,描述的是个体类的内容动作.........
2022-07-30 23:58:43
245
原创 Python异常处理
尝试运行,如无异常,任务完成;如异常,将异常从当前代码块扔出尝试解决异常。但必须保证程序在最坏的情况下得到的问题被妥善处理。except(异常类型1,异常类型2,…python异常处理模块语法。无论有没有异常都要执行此代码。不能保证程序永远正常运行。如无异常,将执行此代码。...
2022-07-30 17:48:50
298
原创 Mysql学习笔记-基本操作
数据库的基本操作连接数据库mysql - u root -p退出数据库exit/quit/ctrl + dsql语句需要有分号;结尾显示数据库版本select version();显示时间select now();查看所有数据库show databases();创建数据库create database 数据库名;查看创建数据库的语句show create database 数据库名 charset=utf8;查看
2021-06-29 23:29:17
140
原创 笔记记录(图形的一些设置)
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport matplotlib as mplmpl.rcParams["font.family"] = "Microsoft YaHei" # 设置字体mpl.rcParams["axes.unicode_minus"]=False # 用来正常显示负号plt.rcParams['font.sans-serif']=['Microsoft YaHei'].
2021-06-28 16:11:30
308
原创 Python连接Mysql
连接数据库import pymysqldb = pymysql.connect(hots="127.0.0.1",port=3306,user="root",password="root",database="csdn_crawler")cursor = db.cursor()sql = "delete from article where id>3"cursor.execute(sql)sql = "select id,title from article where id&g
2021-06-28 15:27:02
113
原创 决策树案例代码练习
初始设置import sysassert sys.version_info >= (3,5)import sklearnassert sklearn.__version__>="0.20"import numpy as npimport osnp.random.seed(42)# 画布初始设置%matplotlib inlineimport matplotlib as mplimport matplotlib.pyplot as pltmpl.rc('axes',la
2021-05-24 00:23:09
656
原创 机器学习---回归
线性回归模型:ps:x是实例的特征向量,包含从x0到xn,x0始终等于1性能指标:均方误差MSE。 1. 为了获得使成本函数MSE最小值时的值,可以直接用标准方程解。import numpy as npX = 2 * np.random.rand(100,1)y = 4 + 3 * X + np.random.randn(100,1)X_b = np.c_[np.ones((100,1)),X]theta_best = np.linalg.inv(X_b.T.do...
2021-05-06 13:51:19
1166
1
原创 多类分类器
# 多类分类器from sklearn.datasets import fetch_openmlminst = fetch_openml('mnist_784',version=1)X,y = minst["data"],minst["target"]X_train,X_test,y_train,y_test = X[:60000],X[60000:],y[:60000],y[60000:]some_digit = X[0]多类分类器(也称为多项分类器)可以区分两个以上的类。有一些算法(如
2021-05-02 23:26:34
2578
原创 训练二元分类器及三种评估方法
分类器MINIST使用MNIST数据集,这是一组由美国高中生和人口调查局员工手写的70000个数字的图片Scikit-Learn提供了许多助手功能来帮助你下载流行的数据集。MNIST也是其中之一。下面是获取MNIST数据集的代码from sklearn.datasets import fetch_openmlminst = fetch_openml('mnist_784',version=1)minst.keys()dict_keys(['data', 'target', 'frame',
2021-04-30 16:21:15
1735
1
原创 机器学习主要挑战
坏数据训练数据的数量不足训练数据不具代表性低质量数据如果训练集满是错误、异常值和噪声,系统将更难检测到底层模式。解决方案一般有以下几个:如果某些实例明显是异常情况,那么直接将其丢弃,或者尝试手动修复错误 如果某些实例缺少部分特征,则必须决定是整体忽略这些特征、忽略这部分有缺失的实例、将缺失的值补充完整,还是训练一个带这个特征的模型,再训练一个不带这个特征的模型。无关特征只有训练数据里包含足够多的相关特征以及较少的无关特征,系统才能够完成学习。一个成功的机器学习项目,其关键部分是提
2021-04-30 11:40:39
240
原创 机器学习系统的类型
机器学习系统类型分类是否在人类监督下训练有监督学习K-近邻算法线性回归逻辑回归支持向量机决策树和随机森林神经网络无监督学习聚类算法(k-均值算法,DBSCAN,分层聚类分析)异常检测和新颖性检测(单类SVM,孤立森林)可视化和降维(主成分分析,核主成分分析,局部线性嵌入,t-分布随机近邻嵌入)关联规则学习(Apriori,Eclat)半监督学习由于通常给数据做标记是非常耗时和昂贵的,往往会有很多未标记的数据而很少有已标记的数据,有些算法可以处理部分已标记的数据。
2021-04-30 00:03:17
417
原创 岭回归与LASSO回归
根据线性回归模型的参数估计公式 可知,得到的前提是矩阵可逆,但在实际应用中,可能会出现自变量个数多于样本量或者自变量间存在多重共线性的情况,即的行列式为0,此时将无法根据公式计算回归系数的估计值。解决该问题可用岭回归模型,岭回归模型就是在线性回归模型的目标函数之上添加L2正则项(也称为惩罚项)。L2范式惩罚项的加入,使得满秩,保证了可逆。但是由于惩罚项的加入,回归系数不再是无偏估计。所以岭回归实质上是以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法i
2021-04-28 14:11:26
430
原创 python创建数据库并插入记录
# python创建SQLite数据库,并插入记录import sqlite3import os# 1. create table and databasedbPath = 'data.sqlite'if not os.path.exists(dbPath): conn = sqlite3.connect(dbPath) c = conn.cursor() c.excute('''create table persons (id int prim.
2021-04-22 16:34:13
474
原创 字符串格式化的方法
格式化字符串的方式%格式化 模板字符串 字符串的format方法 fstringprint("%s,It's %d dollars"%("wow",4))# 通过Template对象封装 $放置一些占位符,并通过substitute方法用实际的值替换这些占位符from string import Templatetemplate1 = Template('$s是我最喜欢的编程语言,$s非常容易学习,而且功能强大')print(template1.substitute(s =
2021-04-22 15:31:03
154
原创 列表,元组,字典
# 第一题:如何定义集合,集合与列表的区别a = [1,2,3,4,5] # 列表print(type(a))b = (1,2,3,4,5) # 元组print(type(b))c = {1,2,3,4,5} # 集合print(type(c))'''区别:1. 集合没有重复的元素,而列表可以有重复的元素2. 集合中的元素与顺序无关,而列表中的元素与顺序有关'''a = [1,2,2,3,4,3]print(a)c = {1,2,2,3,4,3}print(c.
2021-04-22 15:08:02
88
原创 核心基础(二)--进制转化以及字符串和格式化
如何表示二进制、八进制和十六进制二进制:数值前面加0b 八进制:数值前面加0o 十六进制:数值前面加0x 二进制转换函数:bin-->二进制转换函数;int-->十进制转换函数;hex-->十六进制转换函数;oct-->八进制转换函数n1 = 1234# 二进制、八进制和十六进制的表示方法n2,n3,n4 = 0B11101,0O127,0XF15print(n2,n3,n4)# 将二,八,十六进制转为十进制print(int('0B10110',2))
2021-04-22 11:02:08
407
原创 线性回归模型
一元线性回归模型的介绍与应用一元线性回归模型回归方程形式:,i=1,2,...n,其中需满足以下四个假设条件a.正态性假设,即是服从正态分布的随机变量b.无偏性假设,即E()=0c.同方差性假设,即所有的方差都相同;同时也说明了与自变量,因变量之间都是相互独立的d.独立性假设,之间相互独立,且满足COV(,)=0(ij)根据误差平方和最小的原则,用最小二乘法求解参数a,b:一元回归模型python的实现:import pandas as pd...
2021-04-21 22:37:29
971
原创 Python变量类型
变量类型关键字严格意义上来讲python只有一个类型标准数据类型6种数字整数浮点数科学计数法复数字符串三引号可以表示多行,单双引号默认一行None类型None表示没有,通常用来占位运算符加减乘跟数学一致普通除(/)整除(//)取余(%)所有运算符都可以缩写(+=,-=,/=,//=,%=,**=等)逻辑与and逻辑或or逻辑非not列表元组字典集合#查看关键字import keywordprint(keyword.kwlist
2021-04-21 21:40:53
149
原创 核心基础(一)--设置搜索路径和字符串连接方式
设置Python模块的搜索路径有几种方式设置PYTHONPATH环境变量 添加.pth文件(先在txt文件中写入需要添加为永久路径的项目路径,然后更改文件后缀名为.pth,再次查看sys.path会发现路径已添加至环境变量) 通过sys.path.append()设置路径,这是临时添加,一旦退出python就没有了 如果使用PyCharm,可以直接设置搜索路径PS:【永久设置Python模块搜索路径:PYTHONPATH、.pth文件和PyCharm。临时设置Python模块搜索路径:sys.p
2021-04-21 17:39:48
140
原创 转化图片格式
import osfrom PIL import Imageos.chdir(r"D:\jupyter\image_convert")os.getcwd()file = os.listdir(r"D:\jupyter\image_convert")for f in file: img = Image.open(f) img.load() f = f.split(".")[0] img.save(f+".jpg")
2021-04-21 15:44:51
94
原创 亚马逊标题分词
导包import pandas as pdfrom nltk.tokenize import word_tokenizefrom nltk.corpus import stopwordsfrom nltk.stem.porter import PorterStemmerfrom nltk.text import Textfrom nltk import ngrams,FreqDist读数据data = pd.read_csv(r'D:\数据\亚马逊搜索词排名\asin.csv',.
2021-04-21 15:38:17
284
原创 nltk分词
先读入数据import pandas as pddata = pd.read_excel(r'D:\python\zxzy\amazon_asin\review.xlsx')title = data['review_revs']data.head(1)对每条review进行分句#分句import nltkfrom nltk.tokenize import sent_tokenizesent = []for i in title: sent.append(sent_.
2021-04-21 15:15:56
557
原创 百度翻译爬取
import pandas as pdimport requestsimport jsonimport hashlibimport randomimport numpy as npimport timeapiurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate'appid = '20200818000545689'secretKey = 'l9lrhrQdfwJAv0faWJ7A'def translateBaidu(.
2021-04-21 14:38:44
198
原创 pandas自定义排序规则
from pandas.api.types import CategoricalDtypea = ['红红','白白','看看','慢慢','kini','ssfs','fff']b = ["Mar(0, 15]","Jan(15, 31]","Aug(15, 31]","Sep(0, 15]","Jun(15, 31]","Jul(0, 15]","May(15, 31]"]df = pd.DataFrame({"编辑":a,"月份":b})dfcat_variable_order .
2021-04-21 14:32:35
741
原创 pd.DataFrame.melt()函数
对这个函数的理解就是二维变一维,就是逆序数列melt(self, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None) Parameters ---------- id_vars : tuple, list, or ndarray, optional Column(s) to use as identifier variables. v.
2021-04-21 14:23:24
966
原创 批量爬取亚马逊商品信息
思路爬取页面信息,存储详情页链接 爬取详情页链接 爬取详情页图片 将数据保存到mysql 要点商品列表页爬取-商品链接,商品价格,商品名称,图片链接,评论链接,ASIN----需要登录或者修改配送地址(登录执行1次) 爬取商品链接,需要变体COLOR,SIZE,商店名称,detail 1个driver爬取页面 5个driver爬取详情页 request下载图片导入模块from selenium import webdriverfrom selenium.webdriver..
2021-04-20 09:45:57
2184
原创 selenium爬取亚马逊商品评论
亚马逊商品评论有反爬虫,所以就用selenium爬了。网速一定要好,不然爬的真的是天昏地暗。配合多线程就会快很多,这个不写了,爬的时候手动复制了N个代码去爬。还有一个点,中文和英文的设置,可以在评论里面加进去from selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as
2021-04-19 17:43:57
5299
1
原创 Scrapy 学习篇(八)--scrapy_redis
Scrapy_redisScrapy_redis在scrapy的基础上实现了更多,更强大的功能,具体体现在:request去重,爬虫持久化,实现分布式。 无论是多线程爬虫或是scrapy异步爬虫,都是在一台机器上。而分布式爬虫则是将堕胎主机组合起来,共同完成一个爬取任务,提高爬取的效率 分布式爬虫优点可以充分利用多台机器的带宽 可以充分利用多台机器的ip地址 多台机器做,爬取效率更高回顾scrapy的爬虫流程scrapy_redis的爬虫流程Redis服务器:管理爬虫服务器请求.
2021-04-18 16:37:49
324
原创 Scrapy 学习篇(八)--下载中间件
setting中定义好"USER_AGENTS_LIST",同时开启下载中间件import randomclass RandomUserAgentMiddleware: #当每个request经过下载中间件时,该方法被调用 def process_request(self,request,spider): ua = random.choice(spider.settings.get("USER_AGENTS_LIST")) request.heade
2021-04-18 12:39:45
192
原创 Scrapy 学习篇(六)--crawlspider
crawlspider的使用scrapy startproject 项目名 scrapy genspider -t crawl 爬虫名 allow_domain 指定start_url,对应的响应会通过rules提取url地址 完善rules,添加Rule注意点:url地址不完整,crawlspider会自带补全后请求 parse函数不能定义,它有特殊功能,用于url的提取 callback:连接提取器提取出来的url地址对应的响应交给他处理 follow:连接提取器提取处理的url地
2021-04-17 23:08:51
209
NumPy Beginner's Guide - Second Edition
2018-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人