动态网页爬虫的解决方案

前言

在复习早期下载视频知识点时,发现有些关键地方没有理清楚。特此梳理

爬虫实践经验小结

要是不精通动态网页爬虫,那爬虫可用武之地就不大了。

关于爬虫的小故事(可略过)

假设有这样一个桌子和椅子,它们有一套默认的规则,人类坐进椅子,桌子便按照规则提供服务
正常情况是,有一个人类,他坐在了椅子上,说,我想要一支笔,于是桌子表面从下面传上来一支笔。但这个人类先要100支笔,桌子做不到。于是人类把桌子抽屉打开,翻了看到了一百只笔所在的位置,并告诉了它的机器人。
静态网页:人类命令它的机器人仆从按照之前告诉它的地址把笔一支支取出来,人类离开椅子,机器人坐进椅子然后完成任务。

动态网页:人类依然是命令机器人按照告诉它的地址把笔取出来,人类离开椅子,机器人坐进椅子。
此时,为了防止机器人仆从自己从抽屉里拿笔,这个桌子不允许非人类看到抽屉的内部除非得到椅子的认可,
人类为了让机器人帮自己拿笔,告诉它自己的屁股形状,让它假装是自己,于是机器人坐在椅子上,能拉开抽屉看到内部了。

但是机器人找不到笔了
**selenium:**原来,机器人是不需要拉抽屉直接把手探进去拿笔的,而人类是需要拉抽屉,笔的位置才能出现的。于是机器人也模仿人类拉抽屉,看到了笔的位置,完成任务
接口:机器人不想通过模仿人类,它看到了抽屉里原本应该放笔的位置上现在有根绳子,顺着这根绳子他发现了一个保险箱。保险箱里有无数个小精怪,而且他们有它所需要的笔。(小精怪们把无数数据拧成一股绳传到抽屉里)保险箱上有很多个转钮,把它们转到指定的位置相应的笔就会出来。机器人注意到每支笔对应的转钮除了一两个其它都是相同的。

动态网页爬虫的解决方案

如今大部分网页都是动态网页,像经典案例豆瓣250排行榜那样的案例那是打着灯笼都找不着了

解决方案就两个

方式 优点 缺点 实践
分析接口 直接可以请求到数据,不需要做一些解析工作。代码量少,性能高 分析接口比较复杂,特别是一些通过js混淆的接口。要有一定的js功底。容易被发现是爬虫 有道接口,b站视频接口,天气app接口
selenium 直接模拟浏览器的行为。浏览器能请求到的,使用selenium也能请求到。爬虫更稳定 代码量多,性能低 scrapy+selenium

通过接口获取数据
第一个例子-----有道词典
第二个例子------b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值