美文网首页Python爬虫
《Python爬虫零基础入门》课程笔记

《Python爬虫零基础入门》课程笔记

作者: 严国立Terry | 来源:发表于2018-03-29 14:27 被阅读0次

一、Python编程环境配置

之前在简书写过一篇安装anacoda的分享:https://www.jianshu.com/p/a512f3c5bca0

二、Python基本语法

1.字符串(string)

输入:可用英文的单引号或双引号,带换行符的多行字符串也可用三重引号;如v=’Hello World’;

访问值:可用方括号截取字符串,如print(var[0])截取的就是字符串的第一个字符;

修改:已存在的字符串本身不能修改,但是可以通过赋值改变;如a=’1’   b=a.replace(‘1’,’2’)  即把1换成2;

将对象转为字符串:str函数实现,如a=1   s=str(a);

当做序列类型处理:如s=’python’   list(s)   结果[‘p’,’y’,’t’,’h’,’o’,’n’]

2.元组(tuple)

元组是一种一维的、定长的、不可变的Python对象序列;

输入:在括号中添加元素,并用逗号隔开,如t=(1,2,3,4,5);如果元组只包含一个元素要在元素后加逗号,t=(50,);

访问元组:用下标索引来访问元组中的值,print(tup1[1:5]);

修改元组:元素值不能修改,但可以进行组合tup3=tup1+tup2    print(tup3) ;

元组运算符:计算元素个数len((1,2,3))  结果3;复制(‘Hi!’,)*4  结果(‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’);

判断是否存在3 in (1,2,3)等;

元组截取:读取元素中第三个元素L[3];反向读取,读取倒数第二个元素L[-2];从第二个元素开始一直截取到最后L[1:];

内置函数:len(tuple);max(tuple);min(tuple);

3.列表(list)

列表可变长,可对其内容进行修改;

输入:可通过方括号[],或者list函数进行定义;如a=[2,3,4];b=list(tup);修改列表中的内容list[1]=’e’,即把第二个内容换成了’e’;

访问列表:使用下标索引访问,或用方括号截取字符;

更新列表:如list[2]=100,即将列表中第三个元素更新为100;

删除元素:如del list[2],即删除列表中第三个元素;

判断元素是否存在:如2 in a,标识在列表a中是否存在元素2,如果存在则输出True;

列表的截取和元组类似;

4.字典(dict)

字典是一种可变且可存储任意类型对象;

输入:字典中每个键值对用冒号分隔,每个对之间用逗号分隔,整个字典包括在花括号中({}),

D={‘key1’:’value1’,’key2’:’value2’},如dict={‘alice’:’12’,’beth’:’91’,’cecil’:’32’}

键是唯一的,值可变可取任何数据类型;

访问字典:把相应的键放入方括弧中,如print(dict[‘alice’])   结果为12;如果字典中没有键的访问数据,则会输出错误;

修改字典:更新字典dict[‘alice’]=51   则将12更新为51;

删除字典:del可删元素也可这个字典删除(删除后字典不存在),clear可清空字典(清空后字典还存在),如del dict[‘alice’]   #删除键’alice’;dict.clear()  #清空字典;del dict  #删除字典;

5.条件语句

If语句:

If……elif……else

每个条件后面使用冒号,表示接下来是满足条件后要执行的语句块;

6.循环语句

While循环:只要条件满足就不断循环,条件不满足时退出循环;

For……in循环:把每个元素带入变量中,依次把list或tuple中的每个元素迭代出来;

三、Requests+Xpath

爬虫:又称网页蜘蛛,是一种程序或脚本,能够按照一定的规则自动获取网页信息。

爬虫基本原理:

1.挑选种子URL;

2.将这些URL放入待抓取的URL队列;

3.取出待抓取的URL,下载并存储进已下载网页库中;此外,将这些URL放入待抓取URL队列,进入下一循环;

4.分析已抓取队列中的URL,并且将URL放入待抓取URL队列,从而进入下一循环;

爬虫基本流程:下载网页-解析页面-获取并存储内容;

爬虫的包:

Python中爬虫相关的包很多,比如Urllib、requests、bs4等,requests+xpath是其中比较简单容易上手的一种;

导入库:import+库名;(import  requests用来下载网页)

调用库中的某种方法:from+库名+import+方法名;(from lxml import etree用来解析网页)

获取元素的Xpath信息并获得文本:file=s.xpath(‘元素的Xpath信息/text()’)

Xpath信息的获取:

1.定位目标元素:在网页上右键-检查;

2.光标移到对应元素时,按下快捷键“shift+ctrl+c”;

3.然后右键-copy-copyXpath;

四、实例——爬取豆瓣图书top250

1.先爬一个书名试试水;

2.再爬一下主演、片长等信息试试;

3.最后在top250的页面中爬下所有书的名字、评分、和链接;

记得加入一个sleep()的函数,不然爬得太快ID容易被封(之前脑袋短路把循环range(10)改为了range(250),又没有加sleep函数,被豆瓣封了)

相关文章

网友评论

    本文标题:《Python爬虫零基础入门》课程笔记

    本文链接:https://www.haomeiwen.com/subject/mcmmcftx.html