自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小羽飞的博客

python学习的一些基础分享

  • 博客(124)
  • 收藏
  • 关注

转载 sqlalchemy查询使用

sqlalchemy查询使用1.带条件查询查询是最常用的,对于各种查询我们必须要十分清楚,首先是带条件的查询 #带条件查询 rows = session.query(User).filter_by(username='jingqi').all() print(rows) rows1 = session.query(User).filter(U...

2020-03-19 18:17:27 445

原创 streamlit模块的简单使用

Streamlit是第一个专门针对机器学习和数据科学团队的应用 开发框架,它是开发自定义机器学习工具的最快的方法,你可以认为 它的目标是取代Flask在机器学习项目中的地位,可以帮助机器学习 工程师快速开发用户交互工具。在我看来,使用它的web功能实现数据分析的展示是较为有兴趣的。接下来简单介绍一下他的简单使用。首先 安装不必细说 pip install streamlit 就...

2019-11-11 20:23:18 14408

原创 ip代理池的构建

import urllib.requestimport urllib.parse import time from multiprocessing import Pool#多进程import randomfrom lxml import etree #xpath提取import datetime#功能:随机获取HTTP_User_Agentdef GetUserAgent(...

2019-07-24 16:02:52 350 1

转载 初识scipy

scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,统计,特殊函数等等。scipy可以与其它标准科学计算程序库进行比较,比如GSL(GNU C或C++科学计算库),或者Matlab工具箱。scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。在实现一个程序之前,值得...

2019-07-05 16:33:31 1672

原创 反爬虫判断方法

1 最简单的网站反爬虫方法----根据 User-Agent 判断是否是爬虫1.新建一个 Flask 项目2.网站对于用户请求的响应处理,代码如下:在默认的 unspider.py 文件中输入如下代码from flask import Flask,requestapp = Flask(__name__)def isSpider(): user_agent = ...

2019-06-16 14:04:39 5529

原创 python的作用域

python的作用域并不是哪里都能访问的,类似于Java,分全局和局部,python变量的作用域大概分为以下四类:L(local) 局部作用域E(Enclosing) 闭包函数外的函数中G(Global) 全局作用域B(Built-in) 内建作用域遵循LEGB原则:以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭...

2019-06-08 21:23:59 265

原创 Python 里面 copy 和 deepcopy 的区别

deepcopy(深复制),即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。而等于(=)赋值,并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签, 所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签也会随之改变。而 copy(浅复制)要分两种情况进行讨论:1)当浅复制的值是不可变对象(数值,字...

2019-06-05 20:56:56 181

原创 使用wordcloud(词云)模块做出文字填充效果

先给大家展示一下效果要使文字达到这样的效果首先对我们的文本信息进行导入大家自行找一些文字信息,我的是哔站上某视屏的弹幕信息,如下接下来就要使我们的弹幕信息形成如图所示的样子,这里就会用到我们的词云模块代码如下import matplotlib.pyplot as pltfrom wordcloud import WordCloud# 读文件##1 二值化...

2019-06-03 19:47:26 1536

原创 K-means算法的原理与实现

K-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。    如果用数据表达式表示,假设簇划分为(C1,C2,...Ck)(C1,C2,...Ck),则我们的目标是最小化平方误差E:E=∑i=1k∑x∈Ci||x−μi||22E=∑i=1k∑x∈Ci||x−μi||22    其中μiμi是...

2019-06-03 09:12:10 702

原创 MATPLOTLIP 思维导图

2019-05-27 09:21:02 412

原创 numpy思维导图

2019-05-27 09:19:26 652

原创 pandas思维导图

2019-05-27 09:15:00 1137

原创 numpy下常用的数据统计函数

常用的分析参数#1 排序# arr2 = np.random.randint(1,10,size=(3,3))# print(arr2)# arr2.sort(axis=0) # 默认是横向排序,需要纵向排序时设置axis=0#python 中sort 和sorted的用法# print(arr2)# arr3 = np.array([2,3,6,8,0,7])# ...

2019-05-20 21:26:39 1356

原创 用python来操作矩阵运算

1 创建矩阵方法一matr1 = np.mat('1,2,3;4,5,6;7,8,9') 括号里面使用引号开始,然后使用分号隔开,隔开后的数为矩阵的一行元素方法二matr2 = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])矩阵的合并bmat矩阵的转置矩阵的加减乘矩阵的比较运算逻辑运算...

2019-05-20 21:20:47 2935

原创 numpy下数组的索引

数组的索引与字符串的索引相差不多arr3 = np.arange(10)print(arr3[:5]) #[0 1 2 3 4]print(arr3[::2])# [0 2 4 6 8]print(arr3[1::2]) #[1 3 5 7 9]arr3[:2] = 100,101 #修改元素的值print(arr3) #[100 101 2 3 4 ...

2019-05-20 20:15:23 2853

原创 python下的numpy模块的常用方法(总结)

创建数组创建一维数组arr = np.array([1, 2, 3, 4]) ## 一维数组创建二维数组arr2 = np.array([[1, 2, 3, 4], [4, 6, 7, 8], [7, 8, 9, 10]])数组的属性ndim 数组维度shape 数组结构shape[1] 或shape[0],查看数组列 行数dtype 数组元...

2019-05-20 19:28:21 454

原创 SSL-校验网站证书的问题解决

一、什么是 SSL 证书?如何检查网站是否部署了 SSL 证书? 如果你能使用 https:// 来访问某个网站,就表示此网站是部署了 SSL 证书。一般来讲,如果此网站部署了 SSL 证书,则在需要加密的页面会自动从 http:// 变https:// ,如果没有变,你认为此页面应该加密,你也可以尝试直接手动在浏览器地址栏的 http 后面加上一个英文字母“ s ”后回车,如果能...

2019-05-18 21:44:11 2562

原创 urllib 的异常错误处理(总结)

在我们用 urlopen 或 opener.open 方法发出一个请求时,如果 urlopen 或 opener.open 不能处理这个 response,就产生错误。 这里主要说的是 URLError 和 HTTPError,以及对它们的错误处理。一、URLError URLError 产生的原因主要有: 没有网络连接 、服务器连...

2019-05-18 15:57:29 4909

原创 在爬取网站中的代理设置,爬虫利器

requests 下的代理使用使用代理 IP,这是爬虫/反爬虫的第二大招,通常也是最好用的。很多网站会检测某一段时间某个 IP 的访问次数(通过流量统计,系统日志等),如果访问次数多的不像正常人,它会禁止这个 IP 的访问。所以我们可以设置一些代理服务器,每隔一段时间换一个代理,就算 IP 被禁止,依然可以换个 IP 继续爬取。requestsProxyHandler ...

2019-05-18 15:52:09 782

原创 scrapy的日志功能 Logging

Logging1、Scrapy 提供了 log 功能,可以通过 logging 模块使用。可以修改配置文件 settings.py,任意位置添加下面两行,效果会清爽很多。LOG_FILE = "meiju.log"LOG_LEVEL = "INFO"Log levelsScrapy 提供 5 层 logging 级别:CRITICAL - 严重错误(cri...

2019-05-18 15:34:59 2944

原创 对于scrapy框架的一些补充

Item Pipeline当 Item 在 Spider 中被收集之后,它将会被传递到 Item Pipeline,这些 Item Pipeline 组件按定义的顺序处理 Item。每个 Item Pipeline 都是实现了简单方法的 Python 类,比如决定此 Item 是丢弃而存储。以下是 item pipeline 的一些典型应用:验证爬取的数据(检查 item 包含某些字段,比...

2019-05-18 15:30:38 239

原创 使用scrapy 框架来抓取100部美剧的信息

在开始爬取之前,必须创建一个新的 Scrapy 项目。进入自定义的项目目录中,运行下列命令:创建项目命令scrapy startproject 项目名称切换到项目下cd 项目名称目录同时找到项目所见的文件夹 ,使用pycharm打来开(我用的是pycharm) 大致结构如下下面来简单介绍一下各个主要文件的作用:scrapy.cfg :项目的配置文件mySpid...

2019-05-18 15:19:39 779

原创 scrapy框架的介绍

scrapy框架简介Scrapy 是用纯 Python 实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted['twɪstɪd](其主要对手是 Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现...

2019-05-14 16:33:35 464

原创 生产者和消费者回顾

生产者与消费者模1. 队列(1) 特点:先进先出(2) python2 VS python3:(3)使用 Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列LifoQueue,和优先 PriorityQueue。这些队列都实现了锁原语(可以理解为原子操作,即要么不做,要么就做完),能够在多线程...

2019-05-14 09:45:30 276

原创 爬取我爱我家租房信息时 问题总结(付代码)

最近一直在联系爬虫,所以对一些网站抓取信息是遇到了问题,这里总结一下我爱我家的问题在以往的练习时,xpath是我最常用的方法,这次也不例外好的,我们开始爬取数据第一步 ,接口查找https://bj.5i5j.com/zufang/我们需要按照不同区域爬取,增加一点难度第一个问题,我们在爬取时会第一步就遇到了界面访问不进去的问题访问进去是一个空界面,或者根本访问不进去...

2019-05-12 21:37:31 1072 2

原创 多线程爬取,效率提升很多哦

继续优化腾讯招聘的代码,这样我们使用多线程其中的不同和需要注意的地方我都做了标识和注释,直接给大家代码吧 ,修改的地方不是很多,大家自己对照import randomimport threadingimport requestsimport jsonfrom queue import Queueimport time# 第一步 写子类 需要继承父类THREAD 类 复写r...

2019-05-12 19:26:11 552

原创 使用线程方式对腾讯招聘进行数据抓取

之前说过腾讯招聘的数据爬取,但是效率实在是有一些低,这样 ,今天我们使用多线程的方式来爬取数据,然后先简单回顾一下多线程多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度程序的运行速度可能加快在一些等待的任务实现上如...

2019-05-12 19:17:12 340

原创 爬虫常用环境安装

1:urllib urllib.request这两个库是python自带的库,不需要重新安装,在python中输入如下代码:import urllibimport urllib.requestresponse=urllib.request.urlopen("http://www.baidu.com")print(response)返回结果为HTTPResponse的对象:...

2019-05-12 16:24:46 505 1

原创 使用无界面方式登录人人网

在上一篇提到,使用无界面的方式搜索,查找,此篇是做一个复习同样,先导入selenium模块from selenium import webdriverimport timedriver = webdriver.PhantomJS(executable_path=r'd:\Desktop\phantomjs-2.1.1-windows\bin\phantomjs.exe')首先,获...

2019-05-12 16:04:30 772

原创 使用无界面的方式对斗鱼进行爬取

在这里我们需要使用到一个模块,selenium selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很...

2019-05-12 15:34:46 507

原创 让我们来抓取下斗鱼的直播信息吧!!!

斗鱼是大家常用的直播网站,相信大家也有喜欢的主播,那么我们今天使用之前提到的xpath方式来将斗鱼的各大主播的房间信息拿到第一步 ,我们先来分析一下斗鱼,直播分类中的房间信息列表页接口觉得今天的MSI不能错过!!!!!!!!!!接口url = 'https://www.douyu.com/directory/all'我们就准备爬取此界面直播下的房间内容这里就不做分页...

2019-05-11 15:15:21 1830

原创 对糗事百科的搞笑段子的抓取

对于这些搞笑段子来说,正常的爬取手段已经不能够顺利的抓取到了,所以我们经过分析之后,对爬取的界面加了一个请求头部和浏览器伪装接下来就使用昨天提到了lxml包进行html树状化来进行作者,好笑数,文章内容,评论数,这四种的数据提取我们首先分析一下需要爬取的内容的树状结构分析之后,共同点都是这个id的之前的值相同,后边的数字不一样所以我们使用contains方法,将...

2019-05-05 10:01:41 530

原创 Xpath 文档的使用

一、什么是 XPath?XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML文档中对元素和属性进行遍历。W3School 官方文档:http://www.w3school.com.cn/xpath/index.asp二、XPath 开发工具开源的 XPath 表达式编辑工具:XMLQuire(XML 格式文件可用)Chro...

2019-05-04 22:18:27 705

原创 Djnago app 的独立

一个独立的web功能需要具备哪些模块?M modelsV viewsC controlT templateStatic 静态文件在服务器上,单独享有路由独立的urls在主urls当中同过include方法包含子url,子url按照主url格式编写独立的templates1、安装app2、在app下创建templates文件目录,目录名称固定,在t...

2019-04-27 21:34:00 215

原创 爬取豆瓣电影剧情片排行榜

学习到request模块,我们使用学到的技巧来抓取豆瓣电影的排行榜1 分析接口'https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start=20&limit=20''https://movie.douban.com/j/chart/top_list?t...

2019-04-27 21:11:25 1229

原创 使用爬虫技巧对有道词典网站进行操作

有道词典的网站的措施做的还是不错的,今天我们的任务就是把它的功能拿到pycharm里面来实现首先 我们导入requests模块接下来进行接口分析找到真的接口url添加a添加m但是直接请求却不能成功所以,应该是在某个地方上有所不同,才会出现这样的结果,所以重新进行分析根据经验,像这种表单数据应该出自一人之手,所以我们可以在js文件中找类似的数...

2019-04-27 20:29:33 329

原创 http响应状态码参考

1XX:信息,指的是客户端发起请求,等待服务器处理这样的信息, 常见的: 100:Continue服务器接收到部分请求,但是一旦服务器并没有拒绝该请求,客户应继续发送其余的请求 101:Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。2XX:成功,程序员最希望看到的状态码,常见的有:...

2019-04-26 20:37:10 212

转载 python 自定义异常和异常捕捉

异常捕捉:try: XXXXX1 raise Exception(“xxxxx2”) except (Exception1,Exception2,……): xxxx3else: xxxxx4finally: xxxxxxx51.raise 语句可以自定义报错信息,如上。2. raise后的语句是不会被执行了,因为已经抛出异常,控制流将...

2019-04-26 20:18:02 1563

原创 知识回顾:python中的异常处理

在写爬虫程序时遇到一些错误,导致我们的项目不能继续运行下去,所以想到了抛出异常这种方式来使程序继续运行,并且将爆出的错误写入文本,方便我们来解决1 什么是异常当python检测到一个错误时,解释器会指出当前语句已经无法继续执行下去,这个时候就出现了异常但是,异常是程序出现错误之后而在正常流程控制意外采取的行为检测和处理异常检测异常和处理异常有两种主要的形式:try-e...

2019-04-26 20:10:03 464

原创 使用cookie和session对页面进行爬取

当我们所需要爬取的数据需要验证登录时,则会用到post的请求方式来进行登录,比如我们今天爬取开心网界面的信息使用cookie进行抓取数据找到对应界面,我们需要找到登录所需要的关键字段的信息,即账户和密码的字段id,name,class(优先级)等同时因为我们提交上的信息是在一个表单中,我们还要找到对应的表单中的action登陆成功以后 我们则需要首页,或者其他界面...

2019-04-26 19:24:37 1082

空空如也

空空如也

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

TA关注的人

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