qianshang666 发表于 2021-2-10 00:16

【笔记】python自学笔记(爬虫篇)——爬虫初识

本帖最后由 qianshang666 于 2021-2-10 00:23 编辑

前言:基础篇我一共是更新了6课,这6课并不是说就足够让大家熟悉基础了,远远不够,我的建议是大家买本基础书再看看,我6课中讲的都是我们在爬虫中常用的语法,有不足的话,讲爬虫的过程中我会给大家在引入,我的这些笔记可以说都是入门篇,但我会尽我最大的努力讲解,其余的还要大家在平时积累,举一反三

https://static.52pojie.cn/static/image/hrline/1.gif

一.爬虫介绍
1.什么是爬虫?
爬虫可以看作是网络中的一只蜘蛛,它将重要的数据进行爬取然后对数据进行清洗,转换成自己需要的
2.爬虫简略设计思路
访问指定要爬取的url(url通常来说就是WEB地址,也就是我们俗称的“网址”,访问url就需要用到python中一个很重要的库:requests)
提取网页中需要的数据(这部分就需要网页解析库BeautifulSoup和xpath语法 )
将提取到的数据保存到本地(通常保存的格式就是txt和csv,用csv不用excel的原因后面我们再细说)

https://static.52pojie.cn/static/image/hrline/1.gif


二.robots.txt协议
人称君子协议,防君子不防小人
规定了网站中哪些数据是可以被爬取的、哪些网站是不可以被爬取的。
例如:查看百度的robots.txt协议:(输入网址“https://www.baidu.com/robots.txt”),如图所示:


https://static.52pojie.cn/static/image/hrline/1.gif


三.实战操作:爬取吾爱破解论坛logo
1.打开论坛,找到论坛logo所在位置


2.我们点击鼠标右键选择检查,或者是通过按键盘中的f12键唤出开发者工具


3.刷新网页,找到吾爱破解的网站,然后点击preview,我们发现是有数据的,证明我们可以使用css语法


4.我们点击开发者工具左上角的箭头,讲箭头指向网页中logo的位置


5.然后开发者工具跳转到了Element界面,定位到了logo所在的标签


6.按CTRL+F键,唤出查找框,在框中输入css语法定位目标(id用#号定位,class用.号,其他用空格,相互之间用空格隔开)
注意:class中如果有空格,要将空格删除换为.如:hdc cl,我们要改为hdc.cl


7.我们先导入reques库,是用于访问吾爱破解网站,然后用get方式调用,因为我们不需要提交数据
吾爱破解没有反爬虫,所以我们这里不定义headers了,后面案例讲到的时候,我们再说
我们输出时以文本的形式输出查看


8.导入BeautifulSoup库,导入方式是from bs4 import BeautifulSoup
第八行代码的意思是使用bs4方式,html.text是我们要解析的文本,lxml是解析器
python中的解析器不是只有lxml,但是它是我最推荐大家使用的,也是python官方推荐的
第九行代码就是查找对应bs4语法的内容,第十行就是输出我们查找到的内容


9.我们用bs4解析出来的结果是个列表,所以我们先用循环遍历列表,然后输出遍历列表后内容的src参数
这个就是我们需要的logo网页


10.接下来就是将logo图片保存到本地,我们先继续用requests库访问图片链接
然后用基础篇学到的保存文件with open ,里面第一个参数是文件名,第二个参数是读写方式
因为是图片,属于二进制读写,所以读写方式就是wb,写入的时候写入二进制,所以使用content
这样图片就成功的下载到本地了,可以到运行python文件的文件夹下查看下载的图片


四:后言
这个是个简单的爬虫例子,知识点不多,也不难,总共代码也不到20行,但我还是建议大家亲自动手试一试
最后也感谢大家的观看

飞羽折翼 发表于 2021-2-10 00:24

学习了,

Rs归零 发表于 2021-2-10 00:25

直接用火车头采集器就好了啊{:1_929:}

qianshang666 发表于 2021-2-10 00:25

飞羽折翼 发表于 2021-2-10 00:24
学习了,

大家互相学习

Ifover 发表于 2021-2-10 00:36

既然用bs了就用xpath找元素
右键-copy-xpath

qianshang666 发表于 2021-2-10 00:36

离不开好 发表于 2021-2-10 00:36
既然用bs了就用xpath找元素
右键-copy-xpath

我喜欢用css语法,当然,xpath的确更快

Ifover 发表于 2021-2-10 00:39

qianshang666 发表于 2021-2-10 00:36
我喜欢用css语法,当然,xpath的确更快
搜了一下 lxml 是另一种 好像不支持xpath

--------------
一些说支持 一些说不支持 吐了

qianshang666 发表于 2021-2-10 00:42

离不开好 发表于 2021-2-10 00:39
搜了一下 lxml 是另一种 好像不支持xpath

--------------


css语法不行就用xpath,xpath不行就用正则表达式,实在不行就用selenium

qianshang666 发表于 2021-2-10 00:43

KatharsisKing 发表于 2021-2-10 00:41
谢谢分享,谢谢楼主

也感谢你的支持

o824 发表于 2021-2-10 01:00

好东西 支持一下
页: [1] 2 3 4
查看完整版本: 【笔记】python自学笔记(爬虫篇)——爬虫初识