冰度猎魂的博客

冰度猎魂的开发日记
私信 关注
htsait4113
码龄3年
  • 39,801
    被访问量
  • 17
    原创文章
  • 142,847
    作者排名
  • 21
    粉丝数量
  • 于 2018-03-04 加入CSDN
获得成就
  • 获得19次点赞
  • 内容获得6次评论
  • 获得52次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #算法#深度学习#神经网络#视觉/OpenCV#机器学习#数据分析#自然语言处理#TensorFlow#PyTorch#Python#图像处理
TA的专栏
  • Django笔记
    5篇
  • Excel VBA
    1篇
  • 学习笔记
    82篇
  • 转藏实用
    2篇
  • Python3爬虫学习笔记
    18篇
  • Python基础知识
    3篇
  • Java从零学
  • 数据库学习笔记
    1篇
  • Python100天
    6篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Django模型层

Django模型层是Django框架自定义的一套独特的ORM技术。6.3.1 基本操作使用Django模型开发的首要任务就是定义模型类及其属性。每个模型类都可以被映射未数据库中的一个数据表。而类属性被映射未数据字段,除此之外,数据库表的主键、外键、约束等也可通过类属性完成定义。1. 模型类定义模型定义的基本结构如下:from django.db import modelsclass ModelName(models.Models): field1 = models.XXField(..
原创
38阅读
0评论
0点赞
发布博客于 7 月前

使用PyCharm开发Django程序的一般步骤

1. 创建新的Django项目打开PyCharm专业版,选择新建项目,左侧选择Django,选择新建或已有虚拟环境,创建项目book_manager。2. 创建新的app进入虚拟环境,运行如下命令:python manage.py startapp front3. 编辑front的views.pyfrom django.shortcuts import renderdef index(request): passdef add_book(request): pass
原创
174阅读
0评论
0点赞
发布博客于 7 月前

ll

路由称为URL(Uniform Resource Locator,统一资源定位符),也可以称为URLconf,是对可以从互联网上得到的资源位置和访问方法的一种简洁的标识,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的路由,用于支出网站文件的路径位置。简单的说,路由可视为我们常说的网址,每个网址代表不同的网页。路由基本编写规则如下(以MyDjango文件夹的urls.py为例)。from django.contrib import admin:导入内置Admin功能模块。from djan
原创
57阅读
0评论
0点赞
发布博客于 7 月前

【DjangoDoc】Django配置信息

项目配置是根据实际开发需求对整个Web框架编写相关配置信息。配置信息主要由项目的settings.py实现,主要配置有:项目路径密钥配置域名访问权限App列表配置静态资源配置模板文件数据库配置中间件缓存设置当DEBUG为True并且ALLOWED_HOSTS为空时,项目只允许以localhost或1127.0.0.1在浏览器上访问。当DEBUG为False时,ALLOWED_HOSTS为必填项,否则程序无法启动,如果想允许所有域名访问,那么可设置ALLOWED_HOSTS=[’*’]
原创
44阅读
0评论
0点赞
发布博客于 7 月前

WTForms模块

下载安装pip install WTForms主要概念Forms:Forms类是WTForms的核心容器。表单(Forms)表示域(Fields)的集合,域能通过表单的字典形式或者属性形式访问。Fields:Fields(域)做最繁重的工作。每个域(Field)代表一个数据类型,并且域操作强制表单输入为响应的数据类型。例如,InputRequired和StringField表示两种不同的数据类型。域除了包含的数据之外,还包含大量有用的属性,例如标签、描述、验证错误的列表。Validators:V
原创
112阅读
0评论
0点赞
发布博客于 8 月前

PyMySQL模块使用

安装PyMySQLpip install PyMySQL连接MySQL首先需要导入PyMySQL模块,然后使用PyMySQL的connect()方法来连接数据库。import pymysql# 打开数据库连接,参数1:主机名或IP;参数2:用户名;参数3:密码;参数4:数据库名称db = pymysql.connect("localhost", "root", "root", "studyPython")# 关闭数据库连接db.close()# 上述代码中,重点关注connect()函
原创
79阅读
0评论
0点赞
发布博客于 8 月前

Markdown常用语法及Typora应用【1】

Markdown常用语法及Typora应用1. Markdown常用语法1.1 Markdown用途1.2 标题1.3 常用文本样式1. Markdown常用语法Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。1.1 Markdown用途Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown
原创
111阅读
0评论
0点赞
发布博客于 8 月前

【Flask】jQuery

1. 使用jQueryjQuery是一个纯JavaScript客户端库,全部代码被封装在一个文件中。jQuery有以下两种形式的发布版。压缩发布版:compressed,用于正式发布,以*.min.js命名,比如jquery-1.11.2.min.js。正常发布版:uncompressed,用于阅读和调试,以*.js命名,比如jquery-1.11.2.js。每个版本的两种形式在功能上完全相同,只是压缩发布的文件更小。开发者通常在项目开发中使用正常发布版,在项目实际运行中为了使网页更快地被加
原创
54阅读
0评论
0点赞
发布博客于 8 月前

Python的类与对象

程序员自定义类型举个例子:创建一个叫做Point的内置类型,代表二维空间中 的一个点。程序员自定义类型也被称作类(class)。class Point: """Represents a point in 2-D space"""头部语句表明新类的名称是Point。主体部分是文档字符串,用来解释这个类的用途。定义一个叫做Point的类将创建了一个类对象(class object)。...
原创
98阅读
0评论
0点赞
发布博客于 9 月前

Java语言的数据类型与运算符

1.1 数制1.1.1 基本概念1.1.2 Java语言中的数制表现形式二进制(如1100110011)八进制(如014)十六进制(如0xB)十进制(如89)1.2 数据类型Java语言是一个强调数据类型的语言,在声明任何变量时,必须将该变量定义为一种数据类型。Java中的数据类型包括基本数据类型和对象类型(也称为引用数据类型)。1.2.1 整型整型是整数类型,没有小数点的数字,可以为整数也可以为负数。整型类型主要有四种:字节型(byte)、整数型(int)、短整型(short)
原创
149阅读
0评论
0点赞
发布博客于 9 月前

【Excel VBA】Day01 Excel VBA基础

1.1 VBA语言元素概览Sub VBA_Demo()' This is a simple VBA Example Dim Total As Long, i As Long Total = 0 For i = 1 To 100 Total = Total + i Next i MsgBox TotalEnd Sub这个过程使用了一些常见的VBA语言元素,其中包括:一行注...
原创
70阅读
0评论
0点赞
发布博客于 1 年前

Day06-函数和模块的使用

函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。可以用Python的程序来计算出这个值,代码如下所示。"""输入M和N计算C(M,N)"""m = int(input('m = '))n = int(input('n = ...
转载
39阅读
0评论
0点赞
发布博客于 2 年前

【Django学习笔记】Day01-HTML基础知识

本文为Django技术学习笔记,相关教材为清华大学出版社出版的《Django开发宝典》。这一节介绍Django开发的前端技术,主要为HTML相关知识点补记。1.1 初识HTMl1. HTML的定义HTML是用来描述网页的一种语言。HTML是指超文本标记语言(Hyper Text Markup Language)。HTML不是一种编程语言,而是一种标记语言(Markup Languag...
原创
51阅读
0评论
0点赞
发布博客于 2 年前

【Linux学习笔记】常用命令简介

2.1 显示目录和文件2.1.1 ls命令语法:ls[选项|参数] 目录名说明:用于显示指定目录下的目录和文件选项列表ls命令常用选项列表:选项注释/说明-a显示指定目录下的所有内容,包括隐藏文件...
原创
56阅读
0评论
0点赞
发布博客于 2 年前

Day05-练习

本文转自GitHub文章:Python - 100天从新手到大师https://github.com/jackfrued/Python-100-Days练习练习清单寻找“水仙花数”。"""找出100~999之间的所有水仙花数水仙花数是各位立方和等于这个数本身的数如: 153 = 1**3 + 5**3 + 3**3Version: 0.1Author: 骆昊Date: 2...
转载
94阅读
0评论
0点赞
发布博客于 2 年前

Day04-循环结构

本文转自GitHub文章:Python - 100天从新手到大师https://github.com/jackfrued/Python-100-DaysDay04-循环结构循环结构的应用场景如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令。当然你可能已经注意到了,刚才的描述中其实...
转载
62阅读
0评论
0点赞
发布博客于 2 年前

Day03-分支结构

本文转自GitHub文章:Python - 100天从新手到大师https://github.com/jackfrued/Python-100-DaysDay03-分支结构分支结构的应用场景迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在...
转载
39阅读
0评论
0点赞
发布博客于 2 年前

Day02-语言元素

Day02-语言元素指令和程序计算机的硬件系统通常由五大部件构成,包括:运算器、控制器、存储器、输入设备和输出设备。其中,运算器和控制器放在一起就是我们通常所说的中央处理器,它的功能是执行各种运算和控制指令以及处理计算机软件中的数据。我们通常所说的程序实际上就是指令的集合,我们程序就是将一系列的指令按照某种方式组织到一起,然后通过这些指令去控制计算机做我们想让它做的事情。今天我们使用的计算机虽...
转载
48阅读
0评论
0点赞
发布博客于 2 年前

Day01-初识Python

Day01-初识PythonPython简介Python的历史1989年圣诞节:Guido von Rossum开始写Python语言的编译器。1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版...
转载
144阅读
0评论
1点赞
发布博客于 2 年前

【Python 3 机器学习基础】岭回归

岭回归是一种用于回归的线性模型,因此它的预测公式与普通最小二乘法相同。但在岭回归中,对系数(w)的选择不仅要在训练数据上得到好的预测结果,而且还要拟合附加约束。我们还希望系数尽量小。换句话说,w的所有元素都应接近于0.直观上来看,这意味着每个特征对输出的影响应尽可能小(即斜率很小),同时仍给出很好的预测结果。这种约束是所谓正则化(regularization)的一个例子。正则化是指对模型做显式约束...
转载
943阅读
0评论
2点赞
发布博客于 3 年前

【Python 3 机器学习基础】岭回归

岭回归是一种用于回归的线性模型,因此它的预测公式与普通最小二乘法相同。但在岭回归中,对系数(w)的选择不仅要在训练数据上得到好的预测结果,而且还要拟合附加约束。我们还希望系数尽量小。换句话说,w的所有元素都应接近于0.直观上来看,这意味着每个特征对输出的影响应尽可能小(即斜率很小),同时仍给出很好的预测结果。这种约束是所谓正则化(regularization)的一个例子。正则化是指对模型做显式约束...
转载
943阅读
0评论
2点赞
发布博客于 3 年前

爬取豆瓣《将夜》短评并绘制词云

《将夜》是根据猫腻小说改编,陈飞宇和宋伊人主演,最近在腾讯视频热播的电视剧,闲来无事,在学Python爬虫的时候想要爬取评论看看。几经努力,菜鸟水平终于能够爬取短评了。由于豆瓣的限制,即使在登录的状态,依然只能爬取500条评论,具体代码如下:# 调用相关包import jsonimport randomimport requestsimport timeimport pandas as...
原创
165阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】人脸识别及验证码图片破解 3

用OpenCV进行人脸识别要对特定图像进行识别,最关键的是要有识别对象的特征文件,OpenCV已内置了人脸识别特征文件,我们只需使用OpenCV的CascadeCoassifier类即可进行识别。创建CascadeClassifier对象的语法为:识别对象变量 = cv2.CascadeClassifier(识别文件路径)以conda方式安装的OpenCV人脸识别文件路径为C:\Prog...
转载
313阅读
0评论
1点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】人脸识别及验证码图片破解 2

OpenCV基本绘图OpenCV提供了绘制直线、圆形、矩形等基本绘图功能。OpenCV画直线的语法为:cv2.line(画布, 起点, 终点, 颜色, 宽度)颜色:000到255的数值列表,如(120,80,255)。注意第一个值表示蓝色,第二个值表示绿色,第三个值表示红色。例如,画一条从起点(20,60)到终点(300,400)的直线,宽度为2,红色:cv2.line(imag...
转载
536阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】人脸识别及验证码图片破解

用OpenCV读取和显示图形OpenCV(Open Souce Computer Vision Library)是一个跨平台的计算机视觉库。OpenCV由英特尔公司发起并参与开发,可在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理及计算机视觉程序,目前已广泛应用于人机互动、人脸识别、动作识别、运动跟踪等领域。要安装OpenCV,可在http://www.lfd.uci.edu/...
转载
559阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Pandas:强大的数据处理套件 2

DataFrame数据的修改及排序DataFrame数据的修改修改DataFrame数据的操作非常简单,只需要把上例中读取的数据项设定为指定值即可。例如,把陈聪明的数学成绩修改为91:df.ix["陈聪明"]["数学"] = 91或把陈聪明的所有成绩都改为80:df.ix["陈聪明", :] = 80DataFrame数据的排序Pandas提供了两种DataFram
转载
164阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Pandas:强大的数据处理套件 1

创建DataFrame数据用Pandas套件进行数据处理,首先要导入Pandas套件。import pandas as pd创建DataFrame的语法为:数据变量 = pd.DataFrame(数据类型)“数据类型”可以是多种形式:第一种形式是以相同数量的列表数据作为键值的字典型数据。例如,简历一个包含4位学生、每人有5科成绩的DataFrame,数据变量名称为df:df = p...
转载
528阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Pandas:强大的数据处理套件 1

创建DataFrame数据用Pandas套件进行数据处理,首先要导入Pandas套件。import pandas as pd创建DataFrame的语法为:数据变量 = pd.DataFrame(数据类型)“数据类型”可以是多种形式:第一种形式是以相同数量的列表数据作为键值的字典型数据。例如,简历一个包含4位学生、每人有5科成绩的DataFrame,数据变量名称为df:df = p...
转载
528阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】用Python进行Word文件操作

用Win32com组件操作Word文件Python语言可通过Win32com组件对Microsoft Office文件进行存取,而且Python已内置了Win32com组件,不需要另外安装。要用Win32com组件操作Microsoft Office文件,计算机必须已确保安装了Microsoft Office软件。实现新建文件并保存Win32com组件不需要安装,直接导入就可使用,下面我们...
转载
4036阅读
0评论
4点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】绘制图形 4 -- Bokeh包 2

散点图除了绘制线形图的功能外,Bokeh还可用于绘制多种散点图,即仅显示各坐标点而不进行连接。绘制散点图的语法为:绘图区变量.circle(x坐标表, y坐标表, size=大小, color=颜色, alpha=透明度)大小:可以是一个数值,表示所有坐标点大小相同;也可以是数值列表,依次设置各坐标点大小。例如:p.circle(listx, listy, size=20) # 所...
转载
146阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】绘制图形 3 -- Bokeh包

Matplotlib在绘制各种科学图形方面功能强大,但占用的内存空间及计算资源也很大。如果绘制的图形不太复杂,小巧的Bokeh包就够用了。Bokeh的大小只有Matplotlib的五分之一,并且其所绘制的图形还是在网页中显示。用Bokeh绘制基本图形使用Bokeh绘图时,其大部分绘图功能是由bokeh.plotting子包中的figure和show模块完成的,所以我们一般至少要导入figure...
转载
483阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】绘制图形 2

爬取并绘制我国GDP1990~2016数据图绘制图形所需的数据源通常是不固定的,比如,有时我们会需要从网页抓取,也可能需从文件或数据库中获取。利用网页数据抓取技术,把我国1990年到2016年的GDP数据抓取出来,再利用Matplotlib进行绘图显示。经搜索发现,http://value500.com/M2GDP.html网页中有我们所需数据。通过浏览器的开发者工具,查看源码可以发现:年份...
转载
104阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】绘制图形

Python 除了擅长于数据抓取,把抓到的数据绘制成统计图形更是它的强项。Matplotlib 是Python在2D绘图领域使用最广泛的组件,通过它可以让用户轻松地将数据图形化,并且提供了多种输出格式。Matplotlib功能强大,尤其在绘制各种科学图形方面更有非凡表现。如果绘制的图形不是特别复杂,小巧的Bokeh组件就足以应付,它所需的资源大约只有Matplotlib的五分之一,却能绘出各种...
转载
133阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】爬取喜马拉雅《宝宝巴士-奇妙三字经》

最近发现,娃喜欢睡觉之前听《三字经》,又不想给他玩手机,遂起心将喜马拉雅FM上的音频下载下来的想法。在网上搜到了一篇文章,介绍了如何爬取:https://blog.csdn.net/majiexiong/article/details/81949388但是一试之下发现没有爬取成功,打开https://www.ximalaya.com/ertong/15161417/的源码,发现网页源码改了,原...
转载
337阅读
0评论
0点赞
发布博客于 3 年前

【Python 3 爬虫学习笔记】使用Python3 爬取猫眼《西虹市首富》

转自微信公众号《数据森麟》直接上代码:# 调用相关包import jsonimport randomimport requestsimport timeimport pandas as pdimport osfrom pyecharts import Bar, Geo, Line, Overlapimport jiebafrom scipy.misc import imrea...
转载
261阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】用PySpider爬取虎嗅网并进行文章分析

–转自《1900-高级农民工》http://www.makcyun.top安装并运行pyspider安装pyspiderpip3 install pyspider运行pyspider并创建爬虫项目huxiupyspider all成功后,如下图所示:在浏览器中输入:http://localhost:5000或者http://127.0.0.1:5000点击Create,输入...
转载
475阅读
0评论
1点赞
发布博客于 3 年前

[Python3 爬虫学习笔记]Selenium使用详解 3 -- 等待页面加载完成(Waits)

现在的大多数的Web应用程序是使用Ajax技术。当一个页面被加载到浏览器时,该页面内的元素可以在不同的时间点被加载。这使得定位元素变得困难,如果元素不再页面之中,会抛出ElementNotVisibleException异常。使用waits,我们可以解决这个问题。waits提供了一些操作之间的时间间隔-主要是定位元素或针对该元素的任何其他操作。Selenium WebDriver提供两种类型的w...
转载
2822阅读
0评论
0点赞
发布博客于 3 年前

[Python3 爬虫学习笔记]Selenium使用详解 2 -- 查找元素

在一个页面中有很多不同的策略可以定位一个元素。在项目中,你可以选择最很是的方法查找元素。Selenium提供了下列的方法:find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind...
转载
200阅读
0评论
0点赞
发布博客于 3 年前

[Python3 爬虫学习笔记]Selenium使用详解 1 -- 打开一个页面

使用WebDriver打开一个链接,常规的方法是调用get方法:driver.get("http://www.google.com")WebDriver将等待,直到页面完全加载完毕(其实是等到onload方法执行完毕),然后返回继续执行脚本。值得注意的是,如果打开的页面使用了大量的Ajax加载,WebDriver可能不知道什么时候页面已经完全加载。这个时候,需要使用wait。与页面交互只...
转载
148阅读
0评论
0点赞
发布博客于 3 年前

[Python3 爬虫学习笔记]Selenium使用详解 1 -- 打开一个页面

使用WebDriver打开一个链接,常规的方法是调用get方法:driver.get("http://www.google.com")WebDriver将等待,直到页面完全加载完毕(其实是等到onload方法执行完毕),然后返回继续执行脚本。值得注意的是,如果打开的页面使用了大量的Ajax加载,WebDriver可能不知道什么时候页面已经完全加载。这个时候,需要使用wait。与页面交互只...
转载
148阅读
0评论
0点赞
发布博客于 3 年前

实战项目:基础爬虫 -- 爬取百度100词条

基础爬虫架构及运行流程基础爬虫框架主要包括五大模块,分别为爬虫调度器、URL管理器、HTML下载器、HTML解析器、数据存储器。功能分析如下:爬虫调度器主要负责统筹其他四个模块的协调工作。URL管理器负责管理URL链接,维护已经爬取的URL集合和未爬取的URL集合,提供获取新URL链接的接口。HTML下载器用于从URL管理器中获取未爬取的URL链接并下载HTML网页。HTML解析器用...
转载
3759阅读
2评论
1点赞
发布博客于 3 年前

[Python学习手册]Python的和性数据类型

对象类型例子 常量/创建数字1234,3.14,3+4j,Decimal,Fraction字符串‘spam’,“guido’s”,b’a\xolc’列表[1,[2,‘three’],4]字典{‘food’:‘spam’, ‘taste’:‘yum’}元组(1,‘spam’,4,‘U’)文件myfile=open(‘eggs’,‘r’)...
转载
49阅读
0评论
0点赞
发布博客于 3 年前

【Java学习笔记】JDK内置工具

Java程序需要运行环境的支持,同时编译、解释Java程序,执行Java应用程序和Java小程序也需要必要的工具。在JDK中还集成了Java虚拟机(JVM),JVM提供了Java程序的运行环境,它负责解释.class文件(Java源程序经过编译后的文件),并提交给机器执行。JDK常用工具JDK是一个开发工具集合,作为实用程序,工具库有5种主要程序。Javac:Java编译器,将Java源代...
转载
85阅读
0评论
0点赞
发布博客于 3 年前

【Java学习笔记】Java技术概览 - 2

深入探讨“HelloWorld”应用程序/** HelloWorld类的功能是在标准输出端 打印一行输出"HelloWorld!"*/public class HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld!"); }}该源程序包括三个部分:程序注释、类定义...
转载
43阅读
0评论
0点赞
发布博客于 3 年前

【Java学习笔记】Java技术概览 - 1

Java技术Java既是编程语言也是软件平台,作为编程语言的Java有一套自己的机制,实现源程序到处理器可执行程序间的过渡与转换;作为软件平台,Java为程序提供了编程接口和Java虚拟机(Java Virtual Machine,JVM)。...
转载
103阅读
0评论
0点赞
发布博客于 3 年前

【MongoDB学习笔记】MongoDB概念解析

SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary keyprimary ...
转载
67阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Scrapy框架的使用 4

正则匹配Scrapy的选择器还支持正则匹配。比如,在示例的a节点中的文本类似于Name:My image 1,现在我们只想把Name:后面的内容提取出来,这时就可以借助re()方法,实现如下:>>> response.xpath('//a/text()').re('Name:\s(.*)')['My image 1 ', 'My image 2 ', 'My image 3...
转载
74阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Scrapy框架的使用 3

Selector的用法利用Beautiful Soup、pyquery以及正则表达式来提取网页数据,这确实非常方便,而Scrapy还提供了自己的数据提取方法,即Selector(选择器)。Selector是基于lxml来构建的,支持XPath选择器、CSS选择器以及正则表达式,功能全面,解析速度和准确度非常高。直接使用Selector是一个可以独立使用的模块。我们可以直接利用Seletor这...
转载
332阅读
0评论
2点赞
发布博客于 3 年前

Selenium的判断元素expected_conditions

判断元素如何判断一个元素是否存在,如何判断 alert 弹窗出来了,如何判断动态的元素等等一系列的判断,在 selenium 的 expected_conditions 模块收集了一系列的场景判断方法,这些方法是逢面试必考的!!!expected_conditions 一般也简称 EC,本篇先介绍下有哪些功能。功能介绍title_is: 判断当前页面的 title 是否完全等于(==)预...
转载
248阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Scrapy框架的使用 2

运行进入Scrapy创建的目录,运行如下命令:scrapy crawl quotes首先,Scrapy输出了当前的版本号以及正在启动的项目名称。接着输出了当前settings.py中一些重写后的配置。然后输出了当前所应用的Middlewares和Pipelines。Middlewares默认是启动的,可以在settings.py中修改。Pipelines默认是空,同样页可以在setting...
转载
182阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Scrapy框架的使用 1

Scrapy功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以应对所有发爬网站,是目前Python中使用最广泛的爬虫框架。Scrapy框架介绍Scrapy是一个基于Twisted的异步处理框架,是纯Python实现的爬虫框架,其架构清晰,模块之间的耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制开发几个模块就可以轻松实现一个爬虫。架构介绍它可以分...
转载
313阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】pyspider框架的使用 6

任务区分在pyspider判断两个任务是否是重复的是使用该任务对应的URL的MD5值作为任务的唯一ID,如果ID相同,那么两个任务就会判定为相同,其中一个就不会爬取了。很多情况下请求的链接可能是同一个,但是POST的参数不同。这时可以重写task_id()方法,改变这个ID的计算方式来实现不同的区分,如下所示:import jsonfrom pyspider.libs.utils impor...
转载
421阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】变量与数据类型 2

数据类型的转换变量的数据类型非常重要,通常情况下只有相同类型的变量才能进行运算。Python提供了简单的数据类型自动转换功能:如果是整数与符号运算,系统会先将整数转换为浮点数再运算,运算结果为浮点型,例如:num1 = 5 + 7.8 # 结果为12.8,浮点型若是数值与布尔值运算,系统先将布尔值转换为数值再运算,即把True转换为1,False转换为0。例如:num2 = 5 + Tr...
原创
91阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】变量与数据类型 1

任何程序都会用到变量。变量通常用来存放临时数据,例如在一个计算成绩的程序中,会声明多个变量来存放语文、数学、英语等科目的成绩。应用程序可能要处理五花八门的数据类型,所以有必要将数据加以分类,给不同的数据类型分配不同大小的内存,这样才能使变量达到最佳的运行效率。变量变量,顾名思义是一个随时可能会改变内容的容器的名称,就像家中的收藏箱可以放入各种不同的东西。在程序中使用变量时,当开发人员使用一个...
原创
177阅读
0评论
0点赞
发布博客于 3 年前

【Linux学习笔记】计算机硬件的五大单元

计算机硬件大致可分为三部分:输入单元:包括键盘、鼠标、卡片阅读机、扫描仪、手写板、触控屏幕等;主机部分:一般都是固定在一个容器内,内部含有一堆板子、CPU、存储器等;输出单元:例如屏幕、打印机等我们主要通过输入设备如鼠标与键盘来将一些数据输入到主机里面,然后再由主机的功能处理成为图表或文章等信息后,将结果输入到输出设备,如屏幕或打印机上面。主机里面最重要的就是一片主板,上面安插了中央处...
转载
74阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】pyspider框架的使用 5

crawl()方法在前面的例子中,我们使用crawl()方法实现了新请求的生成,但是只指定了URL和Callback。下面是crawl()方法的参数配置。urlurl是爬取时的URL,可以定义为单个URL字符串,也可以定义成URL列表。callbackcallback是回调函数,指定了该URL对应的响应内容用哪个方法来解析,如下所示:def on_start(self): self....
转载
160阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】pyspider框架的使用 4

pyspider用法详解命令行前面实例通过如下命令启动pyspider:pyspider all命令行还有很多可配置参数,完整的命令行结构如下所示:pyspider [OPTIONS] COMMAND [ARGS]其中,OPTIONS为可选参数,它可以指定如下参数。Options: -c, --config FILENAME 指定配置文件名称 --logging-...
转载
371阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】pyspider框架的使用 3

启动爬虫返回爬虫的主页面,将爬虫的status设置成DEBUG或RUNNING,点击右侧的Run按钮即可开始爬取。在最左侧我们可以定义项目的分组,以方便管理。rate/burst代表当前的爬取速率,rate代表1秒发出多少个请求,burst相当于流量控制中的令牌桶算法的令牌数,rate和burst设置的越大,爬取速率越快,当然速率需要考虑本机性能和爬取过快被封的问题。process中的5m、...
转载
247阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】pyspider框架的使用 2

pyspider的基本使用计划爬取去哪儿网的旅游攻略,链接为http://travel.qunar.com/travelbook/list.htm,要将所有攻略的作者、标题、出发日期、人均费用、攻略正文等保存下来,存储到MongoDB中。启动pyspider执行如下命令启动pyspider:pyspider all运行结果如下:这样可以启动pyspider的所有组件,包括Phant...
转载
243阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】pyspider框架的使用 1

在项目实战过程中,我们往往会采用爬虫框架来实现抓取,这样可提升开发效率、节省开发时间。pyspider就是一个非常优秀的爬虫框架,它的操作便捷、功能强大,利用它我们可以快速方便地完成爬虫的开发。pyspider框架介绍pyspider是由国人binux编写的强大的网络爬虫系统,其GitHub地址为https://github.com/binux/pyspider,官方文档地址为http://d...
转载
431阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】动态渲染页面爬取 4 —— 使用Selenium爬取淘宝商品

并不是所有页面都可以通过分析Ajax来完成抓取。比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密秘钥等,所以如果想自己构造Ajax参数,还是比较困难的。对于这种页面,最方便快捷的抓取方法就是通过Selenium。我们利用Selenium来模拟浏览器操作,抓取淘宝的商品信息,并将结果保存到MongoDB。我们实现如下抓取列表页的方法:fro...
转载
409阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】动态渲染页面爬取 3 —— Selenium的使用 3

切换Frame网页中有一种节点叫作iframe,也就是子Frame,相当于页面的子页面,它的结构和外部页面的结构完全一致。Selenium打开页面后,它默认是在父级Frame里面操作,而此时如果页面中海油子Frame,它是不能获取到子Frame里面的额节点的。这时就需要使用switch_to.frame()方法来切换Frame。示例如下:import timefrom selenium im...
转载
267阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】动态渲染页面爬取 2 —— Selenium的使用 2

动作链在交互操作中,一些交互动作都是针对某个节点执行的。比如,对于输入框,我们就调用它的输入文字和清空文字方法;对于按钮,就调用它的点击方法。其实,还有另外一些操作,它们没有特定的执行对象,比如鼠标拖曳、键盘按键等,这些动作用另一种方式来执行,那就是动作链。比如,现在实现一个节点的拖曳操作,将某个节点从一处拖曳到另外一处,可以这样实现:from selenium import webdriv...
转载
92阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】动态渲染页面爬取 1 —— Selenium的使用 1

JavaScript动态渲染的页面不知Ajax一种。比如中国青年网(详见http://news.youth.cn/gn/),它的分页部分是由JavaScript生成的,并非原始HTML代码,这其中并不包含Ajax请求。比如ECharts的官方实例(详见http://echarts.baidu.com/demo.html#bar-negative),其图形都是经过JavaScript计算之后生成的。...
转载
474阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】Ajax数据爬取 1

有时候我们在用requests抓取页面的时候,得到的结果可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,但是使用requests得到的结果并没有。这是因为requests获取的都是原始的HTML文档,而浏览器中的页面则是经过JavaScript处理数据后生成的结果,这些数据的来源有多种,可能是通过Ajax加载的,可能是包含在HTML文档中的,也可能是经过JavaScript和特...
转载
184阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 7 -- Redis存储

Redis是一个基于内存的高效地键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单。Redis和StrictRedisredis-py库提供两个类Redis和StrictRedis来实现Redis的命令操作。StrictRedis实现了绝大部分官方的命令,参数也一一对应,比如set()方法就对应Redis命令的set方法。而Redis是StrictRedis的子类,...
转载
696阅读
0评论
1点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 6 -- MongoDB存储 2

更新对于数据更新,我们可以使用update()方法,指定更新的条件和更新后的数据即可。例如:condition = {'name': 'Kevin'}student = collection.find_one(condition)student['age'] = 25result = collection.update(condition, student)print(result)...
转载
98阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 5 -- MongoDB存储 1

NoSQL,全称Not Only SQL,意为不仅仅是SQL,泛指非关系型数据库。NoSQL是基于键值对的,而且不需要经过SQL层的解析,数据之间没有耦合性,性能非常高。非关系型数据库又细分如下:键值存储数据库:代表有Redis、Voldemort和Oracle BDB等。列存储数据库:代表有Cassandra、HBase和Riak等。文档型数据库:代表有CouchDB和MongoDB等...
转载
171阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 4 -- MySQL的存储

在Python 2 中,链接MySQL的库大多是使用MySQLdb,但是此库的官方并不支持Python 3,所以这里推荐使用的库是PyMySQL。连接数据库这里尝试连接一下数据库。假设当前的MySQL运行在本地,用户名为root,密码为root,运行端口为3306。这里利用PyMySQL,然后创建一个新的数据库,名字叫作spiders,代码如下:import pymysqldb = py...
转载
230阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 3 -- CSV文件存储

CSV,全称为Comma-Separated Values,中文可以叫作逗号分隔符或字符分隔值,其文件以纯文本形式存储表格数据。该文件时一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔。每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。不过所有记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。它比Excel文件更加简洁,XLS文本是电子表格,它包...
转载
995阅读
0评论
2点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 2 -- JSON文件存储

JSON,全称JavaScript Object Notation,也就是JavaScript对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。对象和数组在JavaScript语言中,一切都是对象。因此,任何支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等,但是对象和数组是比较特殊且常用的两种类型。对象:它在JavaSc...
转载
238阅读
0评论
1点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】数据存储 1 -- TXT文本存储

数据保存的形式可以多种多样,最简单的形式是直接保存为文本文件,如TXT、JSON、CSV等。另外,还可以保存到数据库中,如关系型数据库MySQL,非关系型数据库MongoDB、Redis等。文件存储文本存储形式多种多样,比如可以保存成TXT纯文本形式,也可以保存为JSON格式、CSV格式等。TXT文本存储将数据保存到TXT文本的操作非常简单,而且TXT文本几乎兼容任何平台,但是有个缺点,那...
转载
1135阅读
0评论
1点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 11 —— 使用pyquery 4

伪类选择器CSS选择器之所以强大,还有一个很重要的原因,那就是它支持多种多样的伪类选择器,例如选择第一个节点、最后一个节点、奇偶数节点、包含某一文本的节点等。示例如下:html = '''<div class="wrap"><div id="container"><ul class="list"><li class="item-0
转载
91阅读
0评论
0点赞
发布博客于 3 年前

用Python获取好看听书网中的《星期五有鬼》有声小说

本人Python新手一个,最近迷上了喜马拉雅FM里牛大宝的有声小说,听说小说《星期五有鬼》比较好听,就在喜马拉雅FM里搜了下,结果发现大宝的《星期五有鬼》下架了,又不想在线听,就想下载下来听,结果发现好多网站只能在线听。无奈经过多方搜索,在好看听书网找到了一个可以下载的链接,遂想到了用Python编写一个小程序,代替人工下载,(本人刚刚学到一些Python皮毛,很多东西还不会用,粗浅之处请见谅)...
原创
1839阅读
3评论
1点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 10 —— 使用pyquery 3

节点操作pyquery提供了一系列方法来对节点进行动态修改,比如为某个节点添加一个class,移除某个节点等,这些操作有时候会为提取信息带来极大地便利。addClass和removeClasshtml = '''<div class="wrap"><div id="container"><ul class="list"><li class
转载
110阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 9 —— 使用pyquery 2

遍历pyquery的选择结果可能是多个节点,也可能是单个节点,类型都是PyQuery类型,并没有返回像Beautiful Soup那样的列表。对于单个节点来说,可以直接打印输出,也可以直接转成字符串:from pyquery import PyQuery as pqdoc = pq(html)li = doc('.item-0.active')print(li)print(str(l...
转载
209阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 8 —— 使用pyquery 1

先看示例:html = '''<div><ul><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></l
转载
186阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 7 —— Beautiful Soup 5

CSS选择器Beautiful Soup还提供了另外一个选择器,那就是CSS选择器。使用CSS选择器时,只需要调用select()方法,传入相应的CSS选择器即可,示例如下:html = '''<div class="panel"><div class="panel-heading"><h4>Hello</h4><div clas
转载
277阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 6 —— Beautiful Soup 4

texttext参数可用来匹配节点的文本,传入的形式可以是字符串,可以是正则表达式,可以是正则表达式对象,示例如下:import rehtml = '''<div class="panel"><div class="panel-body"><a>Hello,this is a link</a><a>Hello,thi
转载
46阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 5 —— Beautiful Soup 3

提取信息要获取关联元素节点的信息,比如文本、属性等,如下:html = """<html><body><p class="story"> Once upon a time there were three little sisters; and their names were<a href="http://example.com/el
转载
72阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 4 —— Beautiful Soup 2

父节点和祖先节点如果要获取某个节点元素的父节点,可以调用parent属性:html = """<html><head><title>The Dormouse's story</title></head><body><p class="story">
转载
57阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 3 —— Beautiful Soup 1

Beautiful Soup可以借助网页的结构和属性等特性来解析网页。有了Beautiful Soup,我们不用再去写一些复杂的正则表达式,只需要简单的几条语句,就可以完成网页中某个元素的提取。Beautiful Soup是Python的一个HTML或XML的解析库,可以用它来方便地从网页中提取数据。官方解释如下:Beautiful Soup提供一些简单的、Python式的函数来处理导航、搜索...
转载
87阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 2 —— 使用XPath 2

8. 文本获取我们使用XPath中的text()方法获取节点中文本,接下来尝试获取前面li节点中的文本,相关代码如下:from lxml import etreehtml = etree.parse('./test.html', etree.HTMLParser())result = html.xpath('//li[@class="item-0"]/test()')print(res...
转载
112阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】解析库的使用 1 —— 使用XPath 1

XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的于洋。它最初是用来搜寻XML文档的,但它同样适用于HTML文档的搜索。1. XPath概览XPath的选择功能十分强大,它提供了非常简洁明了的路径选择表达式。另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。XPath于1999年11月16日成为W3C...
转载
157阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 13 —— 抓取猫眼电影排行

四、抓取猫眼电影排行4.1 抓取分析需要抓取的目标站点为http://maoyan.com/board/4 ,打开之后便可以查看到榜单信息,如下图所示:排名第一的电影是霸王别姬,页面中显示的有效信息有影片名称、主演、上映时间、上映地区、评分、图片等信息。将网页滚动到最下方,可以发现有分页的列表,直接点击第二页,变化如下:可以发现页面的URL变成http://maoyan.com/bo...
转载
175阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 12—— 正则表达式 5

6. compile()compile()方法可以将正则字符串编译成正则表达式对象,以便在后面的匹配中复用。示例代码如下:import recontent1 = '2016-12-15 12:00'content2 = '2016-12-17 12:55'content3 = '2016-12-22 13:21'pattern = re.compile('\d{2}:\d{-2}')...
转载
49阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 11—— 正则表达式 4

4. findall()search()方法可以返回匹配正则表达式的第一个内容,但是如果想要获取匹配正则表达式的所有内容,就要借助findall()方法了。该方法会搜索整个字符串,然后返回匹配正则表达式的所有内容。上一节中的HTML文本中,如果想要获得所有a节点的超链接、歌手和歌名,就可以将search()换成findall()方法。如果有返回结果的话,就是列表类型,所以需要遍历一下来一次获取...
转载
48阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 10—— 正则表达式 3

3.search()mathch()方法是从字符串的开头开始匹配的,一旦开头不匹配,那么整个匹配就失败了。因为match()方法在使用时需要考虑到开头的内容,这在匹配时并不方便。它更适合用来检测某个字符串是否符合某个正则表达式的规则。search()方法在匹配时会扫描整个字符串,然后返回第一个成功匹配的结果。也就是说,正则表达式可以是字符串的一部分,在匹配时,search()方法会依次扫描字符...
转载
111阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 9—— 正则表达式 2

1.1 匹配目标如果想从字符串中提取出一部分内容,可以用()括号将想提取的子字符串括起来。()实际上标记了一个子表达式的开始和结束位置,被标记的每个子表达式会一次对应一个分组,调用group()方法传入分组的索引即可获取提取的结果。示例如下:import recontent = 'Hello 1234567 World_This is a Regex Demo'result = re.m...
转载
56阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 8—— 正则表达式 1

三、正则表达式1.实例引入打开开源中国提供的正则表达式测试工具 http://tool.oschina.net/regex/ ,输入待匹配的文本,然后选择常用的正则表达式,就可以得出相应的匹配结果。对于URL来说,可以用下面的正则表达式匹配:[a-zA-z]+://[^\s]*用这个正则表达式去匹配一个字符串,如果这个字符串中包含类似URL的文本,那就会被提取出来。常用的匹配规则:...
转载
68阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 7 —— 使用requests

抓取二进制数据前面我们抓取知乎的一个页面,实际上它返回的是一个HTML文档。如何抓取图片、音频、视频?图片、音频、视频这些文件本质上都是由二进制码组成的,由于有特定的保存格式和对应的解析方式,我们才可以看到这些形形色色的多媒体,所以要抓取它们,就要拿到它们的二进制码。 抓取GItHub的站点图标:import requestsr = requests.get("https:/...
转载
111阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 6 —— 使用requests

二、使用requests1. 基本用法1.1 实例引入urllib库中的urlopen()方法实际上是以GET方式请求网页,而requests中相应的方法就是get()方法。import requestsr = drequests.get('https://www.baidu.com/')...
转载
163阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 5 —— 使用urllib

4. 分析Robots协议利用urllib的robotparser模块,可以实现网站Robots协议的分析。4.1 Robots协议Robots协议也称为爬虫协议、机器人协议,它的全名叫作网络爬虫排除标准(Robots Exclusion Protocol),用来告诉爬虫和搜索引擎哪些页面可以爬取,哪些不可以抓取。它通常是一个叫作robots.txt的文本文件,一般放在网站的根目录下。...
转载
111阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 4 —— 使用urllib

3. 解析链接urllib库还提供了parse模块,它定义了处理URL的标准接口,例如实现URL各部分的抽取、合并以及链接转换。它支持如下协议的URL处理:file、ftp、gopher、hdl、http、https、imap、mailto、mms、news、nntp、prospero、rsync、rtspu、sftp、sip、sips、snews、svn、svn+ssh、telnet和wai...
转载
148阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 3 —— 使用urllib

2. 处理异常urllib的error模块定义了有request模块产生的异常。如果出现了问题,request模块便会抛出error模块中定义的异常。2.1 URLErrorURLError类来自urllib库的error模块,它继承自OSError类,是error异常模块的基类,由request模块产生的异常都可以通过捕获这个类来处理。 实例:from urllib impor...
转载
73阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 2 —— 使用urllib

1.3 高级用法urllib.request模块里的BaseHandler类,是所有其他Handler的父类,它提供了最基本的方法,例如default_open()、protocol_request()等。HTTPDefaultErrorHandler:用于处理HTTP响应错误,错误都会抛出HTTPError类型的异常。HTTPRedirectHandler:用于处理重定向。HTTP...
转载
61阅读
0评论
0点赞
发布博客于 3 年前

【转】Win7和Win10 如何在当前目录打开命令行?

转自:https://blog.csdn.net/qq_27263265/article/details/75640940windows7 : 按住 shift 键 , 右键 就有该选项。windows10 : 运行下面的 注册表文件:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\shell\...
转载
2133阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】基本库的使用 1 —— 使用urllib

一、使用urllib在Python 2中,有urllib和urllib2两个库来实现请求的发送。而在Python 3中,已经不存在urllib2这个库,统一为urllib。 urllib库是Python内置的HTTP请求库,不需要额外安装,包含如下四个模块:request:它是最基本的HTTP请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样,只需要给库方法传入URL以...
转载
89阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】爬虫基础 6 ——代理的基本原理

五、代理的基本原理5.1 基本原理代理实际上是指的就是代理服务器,英文叫作proxy server,它的功能是代理网络用户去取的网络信息。形象的说,它是网络信息的中转站。在我们正常请求一个网站时,是发送了请求给Web服务器,Web服务器把响应传回给我们。如果设置了代理服务器,实际上就是在本机和服务器之间搭建了一个桥,此时本机不是直接向Web服务器发起请求,而是向代理服务器发出请求,请求会发...
转载
101阅读
0评论
0点赞
发布博客于 3 年前

【Python3 爬虫学习笔记】爬虫基础 5 ——会话和Cookies

四、会话和Cookies在浏览网站的过程中,我们经常遇到需要登录的情况,有些页面只有登录之后才可以访问,而且登录之后可以连续访问很多次网站,但是有时候过一段时间就需要重新登录。1.静态网页和动态网页静态网页加载速度快,编写简单,但是存在很大的缺陷,如可维护性差,不能根据URL灵活多变地显示内容等。 动态网页可以动态解析URL中参数的变化,关联数据库并动态呈现不同的页面内容,非常灵活多...
转载
131阅读
0评论
0点赞
发布博客于 3 年前