自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Python爬虫——字体反爬

字体反爬的原理网页开发者自己创造一种字体,因为在字体中每个文字都有其代号,那么以后在网页中不会直接显示这个文字的最终的效果,而是显示他的代号,因此即使获取到了网页中的文本内容,也只是获取到文字的代号,而不是文字本身。因为创造字体费时费力,并且如果把中国3000多常用汉字都实现,那么这个字体将达到几十兆,也会影响网页的加载。一般情况下为了反爬虫,仅会针对0-9以及少数汉字进行自己单独创建,其他的...

2020-01-12 20:37:33 366

原创 Python——Web框架

Web框架Web框架用来简化web开发的软甲框架。软件的存在是为了避免用户重新开发轮子,并且在创建一个新的网站是帮助减少一些不必要的开销。典型的框架提供了如下的常用功能:1.管理路由2.访问数据库3.管理回话和Cookies4.创建模板来显示HTML5.促进代码的重用事实上,框架根本就不是什么新的东西,他只是一些能够实现常用功能的Python文件。我们可以把框架看作是工具的集合,而不...

2020-01-05 15:33:35 177

原创 Python——WSGI接口

CGI接口CGI接口(Common Gateaway Interface),通用网关接口,它是一段程序,运行在服务器上,CGI应运而生。服务器将请求发送给CGI应用程序,在将CGI应用程序动态生成的HTML页面发送回客户端。CGI在Web服务器和应用之间充当交互作用,这样才能够处理用户数据,生成并返回最终的动态HTML页面。WSGI简介Web服务器网关接口(Python Web Serve...

2019-12-29 20:51:09 162

原创 Python——Web编程

Web基础一、HTTP协议http(HyperText Transfer Protocol)是指超文本传输协议,是互联网上应用最为广泛的一种网络协议。HTTP是利用TCP在两台计算机(通常是Web服务器和客户端)之间的传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。HTTP基本原理:二、Web服务器Web服务器的工作原理可以概...

2019-12-22 21:12:57 106

原创 Python——触发反爬的问题

当我们在网站上爬取一些数据时,在执行代码时会报“HTTP Error 418: ”这种错误。这个错误指的是“你爬取数据的过程中触发了反爬”,那我们呀怎么解决这个问题呢?我的解决方法:使用time.sleep函数推迟调用线程的运行,再使用 random.randint来延长进程的执行时间。time.sleep(random.randint(0,20))这是我遇到这个“418”问题目前的解决...

2019-12-15 20:26:30 460

原创 Python——如何手动导入工具包

当我们在使用pycharm来编写代码时,通常会用到一些工具包,,这时就需要我们将这些工具包导入到我们创建好的项目中来;对于导入工具包,分为手动导入和自动导入。一、自动导入工具包自动导入的方法是:在开发工具pycharm中选择file->设置->项目->project Interpreter...

2019-12-08 15:06:45 7643

原创 Python——BeautifulSoup库搜索文档树

搜索文档树搜索文档树,一般用得比较多的就是两个方法,一个是find,一个是find_all。find方法是找到第一个满足条件的标签后就立即返回,只返回一个元素。find_all方法是把所有满足条件的标签都选到,然后返回回去。find方法和find_all方法find_all方法在提取标签的时候,第一个参数是标签的名字。然后如果在提取标签的时候想要使用标签属性进行过滤,那么可以在这个方法...

2019-11-23 13:20:34 262

原创 Python——文件操作

在Python中,内置了文件(file)对象。在使用文件对象时,首先需要通过内置的open()方法创建一个文件对象,然后通过该对象提供的方法进行一些基本的文件操作。1、创建和打开文件代码如下:file = open(filename[,mode,[buffering]])相关参数说明 :file:被创建的文件对象;filename:要创建或打开的文件对象名称,需要用单引号或双引号括起...

2019-11-16 15:29:41 91

原创 Python——安装PyMySQL

由于MySQL服务器已独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL服务器驱动来连接到MySQL服务器。在Python中支持MySQL的数据模块很多,我们选择使用PyMySQL。PyMySQL的安装pip install PyMySQL连接数据库使用数据库的第一步是连接数据库。接下来使用PyMySQL连接数据库。由于PyMySQL也遵循Python Data...

2019-11-10 14:38:41 168

原创 爬取豆瓣读书的书籍(一)

环境准备:Python3PyCharm 2018.3.4 x64Google Chrome浏览器爬取豆瓣读书书籍的基本步骤1、在pycharm中导入urllib模块的request;2、获取豆瓣读书网的url信息和User-Agent;3、用urlopen打开网址并发送请求;4、用urlretrieve来保存我们打开的网页信息。爬取豆瓣首页信息from urllib impo...

2019-11-03 15:41:43 432

原创 Python——索引

序列是 一块用于存放多个值的连续内存空间,并且按一定顺序排列,每个值(称为元素)都分配一个数字,成为索引或位置。通过该索引可以取出相应的值。在Python中,序列结构主要有列表、元组、集合、字典和字符串。集合和字典不支持索引、切片、相加和相城操作。一、索引序列中的每个元素都有一个编号,也称为索引,这个索引是从0开始的,即下标为0的是第一个元素,下标为1的是第二个元素,以此类推,如下图:在...

2019-10-27 20:58:59 1897

原创 Python——集合

Python的集合与数学中的集合概念类似,也是用于保存不重复的元素。他有可变集合(set)和不可变集合(frozenset)两种。在形式上,集合的所以普元素都放在一对大括号“{}”中,两个相邻元素使用逗号“,”分隔。集合最好的应用就是去重,因为集合中的每个元素都是唯一的。一、创建集合在Python中提供了两种创建集合的方法,一种是直接使用“{}”创建;另一种是通过set()函数列表、元组等可迭...

2019-10-19 20:55:27 155

原创 Python——字典

字典和列表类似,也是可变序列,不过与列表不同,他是无序的可变序列,保存的内容是以“键-值对”的形式存放的;键是唯一的,而值可以有多个。字典在定义一个包含多个命名字段时是很有用的。字典有以下几个主要特征:1、通过键而不是通过索引来读取;2、字典是任意的对象无意义集合;3、字典是可变的,并且可以任意嵌套;4、字典中的键必须是唯一的;5、字典中键必须不可变。字典的创建与删除定义字典时,...

2019-10-13 21:47:49 275

原创 Python——函数(四)

变量的作用域变量的作用域是指程序代码能够访问该变量的区域,如果超出该区域,在访问时就会出现错误。在程序中,一般会根据变量的“有效范围”将变量分为“局部变量”和“全局变量”。局部变量局部变量是指在函数内部定义并使用的变量,它只在函数内部使用有效。即在函数内部的名字只在函数运行时才会创建,在函数运行之前或者函数运行完毕之后,所有的名字就都不存在了。所以,如果在函数外部使用函数内部定义的变量,就会...

2019-10-06 14:09:50 178

原创 Python——函数(三)

匿名函数python 使用 lambda 来创建匿名函数。所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。lambda 只是一个表达式,函数体比 def 简单很多。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。虽然lambda函数看...

2019-09-29 22:57:26 139

原创 Python——函数(二)

参数传递在调用函数时,大多数情况下,主调用函数和被调用函数之间有数据传递关系,这就是有参数的函数调用的形式。函数参数的作用是传递数据给函数使用,函数利用接受的数据进行具体的操作处理。函数的参数在定义函数时放在函数名称后面的一对小括号中:def fun_bmi (person,height,weight): # (person,height,weight)指函数参数一、形式参数和实际参数...

2019-09-21 15:01:24 468

原创 Python——函数(一)

函数的创建与调用一、函数的创建创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具。使用def关键字实现,具体的语法格式为:def functionname([parameterlist]): ["comments"] [functionbody]参数说明:functionname:函数名称,在调用函数时使用parameterlist:可选参数,用于指定向函数中传递参数。...

2019-09-15 13:50:18 93

原创 Python——使用re模块实现正则表达式操作(二)

Python提供了re模块,用于实现正则表达式的操作,在现实试,可以使用re模块提供的方(search()、match()、findall())进行字符串的处理,也可以使用re模块的compile()方法将模式字符串转换我正则表达式对象,然后再使用正则表达式对象的相关方法来操作字符串。二、字符串替换sub()方法用于实现字符串替换,其语法格式为:re.sub(pattern,repl,str...

2019-09-07 13:50:10 203

原创 Python——使用re模块实现正则表达式操作

Python提供了re模块,用于实现正则表达式的操作,在现实试,可以使用re模块提供的方(search()、match()、findall())进行字符串的处理,也可以使用re模块的compile()方法将模式字符串转换我正则表达式对象,然后再使用正则表达式对象的相关方法来操作字符串。一. 匹配字符串匹配字符串可以使用re模块提供的match()、search()、findall()等方法。...

2019-08-31 15:38:25 257

原创 Python——正则表达式的使用

我们在处理字符串时,经常会查找符合某些浮渣规则的字符串的需求。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。一、正则表达式语法行定位符行定位符就是用来描述字符串的便界。“^”表示行的开始;"$"表示行的结尾。如:^tm #表示要匹配字符串tm的开始位置是行头tm$ #表示要匹配字符串tm的开始位置是结尾2.元字符代码说明...

2019-08-24 15:10:24 162

原创 Python网络爬虫——HTML解析之BeautifulSoup

BeautifulSoup是一个用于从HTML和XML文件中提取数据的Python库。BeautifulSoup提供一些简单的函数来处理导航、搜索、修改分析树等功能。BeautifulSoup模块中的查找提取功能非常强大,而且非常便捷,可以节省程序员数小时或数天的时间。BeautifulSoup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码,用户不需要考虑编码方式,除非文档...

2019-08-17 14:49:01 234

原创 # Python网络爬虫

网络爬虫的常用技术(二)1. 请求headers处理有时在请求一个网页内容时,发现无论通过GET或者是POST以及其他请求方式,都会出现403错误。这种现象多数为服务器拒绝了你的访问,那是因为这些网页为了防止恶意采集信息,所使用的反爬虫设置。此时可以模拟浏览器的头部信息来进行访问,这样就能解决以上反爬虫设置的问题。下面以requests模块为例介绍请求头部headers的处理,具体步骤如下:...

2019-08-10 16:59:45 104

原创 Python网络爬虫(一)

Python网络爬虫网络爬虫的常用技术(一)1、网络爬虫的基本原理网络爬虫的基本工作流程:(1) 获取初始的URL,该URL是用户自己制定的初始爬取得网页;(2) 爬取对应的URL地址的网页时,获取新的URL地址(3) 将新的URL地址放入队列中(4) 从URL队列中获取新的URL,然后依据新的URL爬取网页,同时从新的网页中获取新的URL地址,重复上述的爬取过程;(5) 设置停...

2019-08-03 20:56:00 240

空空如也

空空如也

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

TA关注的人

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