前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫实战开发学习(一)

爬虫实战开发学习(一)

原创
作者头像
flykiss
修改2021-09-08 10:25:15
4590
修改2021-09-08 10:25:15
举报
文章被收录于专栏:学习新东西学习新东西

爬虫实战开发学习(一)

@toc

鸽子的自我修养 -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选择器进行定位节点
代码语言:txt
复制
<div id='hello'>

表示成 #hello

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

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

就可以使用

代码语言:txt
复制
.windows

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

3.根据标签名筛选

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

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

例如

代码语言:txt
复制
#container.wrapper p

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

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

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

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

例如

代码语言:txt
复制
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网络爬虫开发实战(图灵出品)

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 爬虫实战开发学习(一)
    • 鸽子的自我修养 -Jerry Yu
      • 学习爬虫前的准备
        • 1.Http和Https的区别
        • 2.什么是URL,URN,URI
        • 3.什么是HTML,CSS,JavaScript
        • 4.网页点击F12进入开发者模式
      • 一.选择器
        • CSS选择器
      • 二.爬虫的基本原理
        • 1.关键部分是:构造一个请求并发送给服务器,然后接收到相应后并将其解析出来
        • 2.分析源代码,提取信息
        • 3.保存信息
        • 4.自动化程序
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档