简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML、JS、CSS代码返回给浏览器,这些代码经过浏览器解析、渲染,将丰富多彩的网页呈现我们眼前;
博主今天有个小目标—带领大家正式入坑爬虫!
想要学习爬虫却一直迟迟不敢下手,或者对爬虫感兴趣想要好好学一学这门技术的童鞋们,欢迎入坑!
点击免费领取《CSDN大礼包》:
一、爬虫是什么
如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛;
沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;
从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用;
二、爬虫的应用
-
搜索引擎
百度、谷歌等搜索引擎都是基于爬虫技术 -
采集数据
-
模拟操作
爬虫也被广泛用于模拟用户操作,测试机器人,灌水机器人等。 -
软件测试
爬虫之自动化测试虫师
虫师 -
网络安全
短信轰炸
web漏洞扫描
三、爬虫的基本流程
用户获取网络数据的方式:
方式1:浏览器提交请求—>下载网页代码—>解析成页面
方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中
爬虫要做的就是方式2:
1、发起请求
使用http库向目标站点发起请求,即发送一个Request
Request包含:请求头、请求体等
Request模块缺陷:不能执行JS 和CSS 代码
2、获取响应内容
如果服务器能正常响应,则会得到一个Response
Response包含:html,json,图片,视频等
3、解析内容
解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,