python爬虫学习笔记

python环境的配置

python  pip 软件包的测试

使用pip管理python包

终端命令行下对python的操作

python    进入python代码编辑页面

exit() 或者  ctrl + Z     退出代码编辑

ipython       (一种终端页面下的代码编辑器)

python的集成开发环境(IDE)

注释

python支持单行注释和多行注释 (一般注释写在代码上方)

#  + 注释

变量

对于重复使用,并且经常需要修改的数据,可以定义为变量,来提高编程效率。

定义变量的语法为:( 变量名 = 变量值 ) 

定义变量后可以使用变量名访问变量值

python中的各种数据类型

列表:    例如:高三七班 :张三    李四    王五

字典:查找     和我们用的字典方法类似

number        数值

        int

        float

boolean        布尔

string        字符串        使用单引号或者双引号括起来        不允许单引号套单引号,双引号套双引号

list        列表

name_list = [' jay zhou ',' kobe brant ' ]

tuple        元组

age_tuple = ( 18,19,20,21 )

dict        字典

应用场景:scrapy 框架使用

格式:变量的名字 = {key:value,key1:value1}

person = {‘name’:‘红浪漫’,‘age’:18}

查看数据类型

在python中,只要定义了一个变量,而且他是有效的,那么他的类型就已经确定了,不需要咱们开发者主动的去说明他的类型(系统会自动判断他的类型)。也就是说在使用的时候“变量没有类型,数据才有类型”

type        打印数据类型

标识符和关键字

1.有一些特殊含义的变量名不能被当作变量        (例如:for)

2.标识符由字母、下划线和数字组成,且数字不能开头

3.严格区分大小写

4.标识符要做到顾名思义

5.遵守命名规范     :    驼峰命名法

类型的转换

如果将float转化为int        转换后的值是转换前小数点左边的值(不是四舍五入)

运算符

1.算数运算符

字符串的加法是进行字符串的拼接

2.赋值运算符

python中特有的赋值方法

3.赋值复合运算符

4.比较运算符

5.逻辑运算符

and 与       

        两边都是true 才返回true

or 或       

        两端只要有true就返回true

not 非

        取反

逻辑运算符的性能优化

        and

当and前面的结果是false的情况下,后面的代码就不再执行了

or

当or前面的结果是true的情况下,后面的代码就不再执行了

输出

1.普通输出

print(‘故事的小黄花,从出生那年就飘着’)

2.格式化输出

%s 代表的是字符串        %d 代表的是数值

        

输入

input

数据类型高级

列表高级

列表的增删改查

1.append 在末尾添加元素

2.insert 在指定位置插入元素

3.extend (继承)合并两个列表

列表的修改

列表的查找

判断某一个元素是否在列表中

删除元素

元组

python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号。

定义只有一个元素的元组时,要在唯一的元素后面加一个逗号,否则这个数据类型是整型

切片

切片是指对操作对象截取其中一部分的操作。字符串、列表、元组都支持切片操作

遵循左闭右开区间的原则

字典高级

第二种语法,使用这种方法获取字典中不存在的key时不会报错

字典的修改

字典的添加

字典的删除

删除某个元素

删除整个字典

清空字典中的数据,但是key保留

字典的遍历

函数

很多重复的业务逻辑,我们可以使用函数

定义

调用

参数

返回值

局部变量

在函数内部定义的变量,我们称之为局部变量

特点:其作用域范围是函数内部,而函数的外部是不可以使用的

全局变量

定义在函数外部的变量

特点:可以在函数的外部使用,也可以在函数的内部使用

文件

文件的打开与关闭

模式:

w        可写

r        可读

文件的关闭

文件必须要关闭不然占内存

文件数据的写入

在w模式之下,如果文件存在,在写入时,计算机会先清空这个文件,再写入。

所以如果我们想追加文件的内容,需要使用a模式来打开文件(append)

读文件

序列化和反序列化

        通过文件操作,我们可以将字符串写入到一个本地文件。但是如果一个对象(例如列表、字典、元组等),就无法直接写入到一个文件里,需要对这个对象进行序列化,然后才能写入到文件里。

        我们设计一套协议,按照某种规则,把内存中的数据转化为字节序列,保存在文件中,这就是序列化,反之,从文件的字节序列恢复到内存之中,就是反序列化。

        python中提供了json这个模块用来实现数据的序列化和反序列化。

json模块

        json(java script object notation,js对象简谱)是一种轻量级的数据交换标准,json的本质是字符串

序列化的两种方式

1.dumps

        我们在使用scrapy框架时,该框架会返回一个对象,我们要将对象写入到文件中,就要使用json.dimps

2.dump

dump相对于dumps更加简洁一些,可以直接将转化后的字符串写入到指定的文件中

反序列化

loads

load

和dump类似,将反序列化后的结果直接转到文件中

异常

        程序在运行过程中,由于我们编码不规范,或者一些其他的原因,导致我们的程序无法继续运行,此时程序就会出现异常,如果我们不对异常进行处理,程序可能会由于异常直接中断掉。为了保证程序的健壮性,我们在程序设计中提出了异常处理这个概念

页面

html的主要结构

无序列表

有序列表

爬虫

        什么是互联网爬虫?

        如果我们把互联网比作一张大的蜘蛛网,那计算机上的数据就是蜘蛛网上的一个猎物,而爬虫程序就是一直小蜘蛛,沿着蜘蛛网去抓取自己想要的数据

爬虫的核心

1.爬取网页:爬取整个网页 包含了网页中所有的内容

2.解析数据:将网页中你得到的数据进行分析

3.难点:爬虫和反爬虫之间的博弈

爬虫的用途

数据分析、人工数据集

社交软件冷启动

舆情监控

竞争对手监控

爬虫的分类

1.通用爬虫

2.聚焦爬虫

反爬手段

urllib库

一个类型和六个方法

下载

网页下载的方法

下载其他格式的文件同理

请求对象的定制

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值