爬虫实战开发学习(一)

爬虫实战开发学习(一)

鸽子的自我修养 -Jerry Yu

呀嘞呀嘞💌,一直都想学爬虫,从上学期下定的决心,但一直考试周,压缩考试耽误(╬▔皿▔)╯,开始了开始了,不鸽了不鸽了(想起来就更新哦,尽量每周,两到三更)

我要让全世界知道我很低调!

​ —— Jerry Yu


学习爬虫前的准备

掌握一些基本的常识啦

1.Http和Https的区别

2.什么是URL,URN,URI

3.什么是HTML,CSS,JavaScript

简言之,

HTML(HyperText Markup Language):网页的内容和结构

CSS(Cascading Style Sheets):网页的样式

JavaScript:网页的行为,与用户的交互

4.网页点击F12进入开发者模式

自行百度了解掌握,什么是以下的红框框的内容

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

像是Cookie这样的东西,要重点学习,会有大用处.🎈


一.选择器

在这里插入图片描述

图中可以看到,网页的HTML源码中,基本内容都是通过id,class等对象进行嵌套组成的内容框架。那么对于不同的位置,都设置了不同的id等名称进行分开处理,我们想要定位到我们想要内容或者源码的位置,就要学会使用选择和定位的函数。

CSS选择器

1.在CSS中,我们使用CSS选择器进行定位节点
<div id='hello'>

表示成 #hello

其中#开头代表选择id,其后紧跟id的名称

2.如果是选择class作为windows的节点

就可以使用

.windows

以点‘ . ’开头代表选择class,其后紧跟class的名称

3.根据标签名筛选

例如想要选择二级标题,直接使用h2即可

4.CSS选择器支持嵌套选择

例如

#container.wrapper p

· 代表先选择id为continer的节点

· 然后选中其内部的class为wrapper的节点

· 然后再进一步选中其内部的p节点

如果不加空格的话,代表并列关系

例如

div#container.wrapper p.next

· 代表先选择id为container的div节点

· 然后选中其内部的class为wrapper的节点

· 再进一步选中其内部的class为text的p节点

5.CSS选择器的其他语法规则

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二.爬虫的基本原理

爬虫就是获取网页并提取和保存信息的自动化程序

爬虫主要就是获取网页,即获取网页的源代码

1.关键部分是:构造一个请求并发送给服务器,然后接收到相应后并将其解析出来

实现这种操作的库有:urllib,requests

2.分析源代码,提取信息

构造正则表达式

比较简单,但是可能容易出错

网页结果具有一定规则,所以可以根据网页节点属性,CSS选择器或XPath来提取网页信息的库

Beautiful Soup,pyquery,lxml

可以高效的提取节点的属性,文本值等

3.保存信息

可以保存为TXT或者JSON文本

也可以保存到数据库MySQL,MongDB

也可以保存到远程服务器,借助SFTP等进行操作

4.自动化程序

爬虫代替人工来完成上述的爬取网页的过程,可以进行各种异常处理,错误重试等操作,更加高效的运行

我们所抓取的数据格式多种多样,包括文本,图像,视频,音频等,爬取后,保存成对应的文件名

有时可能出现urllib或者requests得到的代码和浏览器并不同,现在越来越多的网页采用Ajax,前端模块化工具进行构建,整个网页利用JavaScripts渲染出来的,

原本的HTML网页就是空壳

对应的,我们可以分析其后台的Ajax接口,也可以使用Selenium,Splash这样的库来实现模拟Javascript的渲染


呼~第一天的爬虫就学到这里啦❤

看似短小的一篇文章,花了将近一个多小时进行编写

未来的暑假时间,持续更新,希望有所收获,爬虫更进一步,当然能“变现”就更好啦o((>ω< ))o


本文章学习的视频为:Python 3网络爬虫开发实战(图灵出品)

请大家多多支持原作者哈!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fly木槿年弧

求一杯咖啡,创作不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值