【技术创作101训练营】用NodeJS来入门爬虫

PPT第一页

第一页演讲稿:

大家好, 今天我主要给大家分享的是用NodeJS来入门爬虫

PPT第二页

第二页演讲稿:

下面,简单介绍一下今天所讲的一些内容,首先是,什么是爬虫?以及为什么要有爬虫,然后是怎么去做爬虫

,最后是扩展与总结

PPT第三页

第三页演讲稿:

什么是爬虫就是,嗯我们写了一个爬虫程序,然后它会像爬虫一样,然后在互联网中各处进行无休止的, 自动的去模仿人, 进行一些访问,然后去进行一些操作,去获取想要的一些信息。

PPT第四页

第四页演讲稿:

然后说为什么要有爬虫,嗯,比如搜索引擎可以去通过爬虫去爬取一些关键字和一些内容,然后方便我们去搜索; 然后还可以聚合信息,比如说一些内容网站, 比如头条等, 他们可以使用爬虫去整合其他的各个平台的信息,又或者云+社区,可以定时的去入驻作者的站点去获取最新的文章, 发布到云+社区; 然后还可以进行一些自动化测试,比如说去通过代码自动化的访问页面, 进行里面的操作,然后去测试页面的功能性。然后也可以进行大数据分析,可以通过抓取大量数据, 进行归类分析, 得出一些结论, 等等

PPT第五页

第五页演讲稿:

接下来是怎么去做一个爬虫。嗯,首先在分析所爬网页的时候, 我们可以我们可以发现会出现两种情况,一种就是,这个页面我右键点击查看网页源代码,他HTML源码里面可以看到,你想爬取的那个数据,这样的话我们就可以通过,HTTP请求去把他的HTML源码下载下来,然后去进行数据的获取; 还有一种情况就是当我们发现HTML源码里没有想要的数据的话,他可能是通过接口请求过来, 通过JS渲染上去的,这样我们就可以去通过抓包的方式去查看它的接口,然后通过请求接口去拿到想要的数据,又或者,我发现接口,进行了一些加密之类的,实现起来可能有点麻烦的话, 也可以使用无头浏览器,去用真实的浏览器去,然后去进入到那个页面模拟一些操作去拿数据。

PPT第六页

第六页演讲稿:

接下来介绍如何进行爬虫代码编写. 如果是查看HTML源代码, 可以看到数据的网页. 我们可以使用HTTP请求下载HTML源码, 然后通过Cheerio库, 通过jquery语法来获取指定dom, 拿到数据

PPT第七页

第七页演讲稿:

接下来我们可以看一个例子,这个例子就是,某新闻网站,然后它上面的一些新闻,然后我们现在就想,怎么去把他的新闻标题给爬下来,我们可以看到HTML源码里可以发现这些数据,这样的话我们就可以通过,下载HTML源码的方式去拿.

PPT第八页

第八页演讲稿:

先初始化项目, 这个项目的,我们可以看到除了安装cheerio,还加了一个got,这个库主要是用来发起HTTP请求. 代码中就是使用got去下载页面的HTML源码, 然后去使用cheerio获取指定的数据

PPT第九页

第九页演讲稿:

然后是如果这个网页没办法使用下载源码的形式,去爬数据的话. 也可以使用无头浏览器去爬去,比如说谷歌的Puppeteer, 或者是微软的Playwright. 嗯,这两个库主要是使用一个真实浏览器访问页面, 来等页面请求数据并渲染后, 去通过选择器获取DOM拿到指定数据

PPT第十页

第十页演讲稿:

接下来我们可以看一个示例,然后他主要去爬掘金的一个列表的文章的标题,我们可以看到他的HTML源码里并没有这些标题的数据,所以我们就可以使用无头浏览器去爬取试试, 当然可以去分析接口哦

PPT第十一页

第十一页演讲稿:

上面代码, 我们可以看到,先是启动浏览器,然后去访问这个页面,在页面加载后,再去通过选择器拿到DOM,去拿到他们的数据,并且去打印出来。

PPT第十二页

第十二页演讲稿:

接下来是扩展与总结. 我们看到有人问假如遇到登录,我们该怎么办?我们就可以使用Puppeteer,然后获取输入框,然后进行模拟输入用户名密码,然后去模拟点击登录,进行登录; 或者去可以在自己的浏览器里去进行一次登录,然后去开发的工具去拿到当前的cookie或者token之类的,然后代码中请求带上,就可以直接带登录态请求了. 然后如果遇到验证码的情况怎么办?如果有条件的话也可以使用一些打码平台,这些平台可以对常用的验证码进行识别,或者你也可以自己去进行识别,比如说图形验证码,你可以通过OCR识别,然后或者滑动验证码的话,你也可以使用Puppeteer模拟滑动

PPT第十三页

第十三页演讲稿:

如果你的爬的IP被封了,可是使用IP代理, 比如用一些免费的IP池或者付费的稳定点

PPT第十四页

第十四页演讲稿:

然后还需要注意的就是如果能用爬虫可能会触犯法律,所以我们要要注意以下几点:

• 严格遵守网站设置的robots协议;

• 在规避反爬虫措施的同时,需要优化自己的代码,避免干扰被访问网站的正常运行;

• 在设置抓取策略时,应注意编码抓取视频、音乐等可能构成作品的数据,或者针对某些特定网站批量抓取其中的用户生成内容;

• 在使用、传播抓取到的信息时,应审查所抓取的内容,如发现属于用户的个人信息、隐私或者他人的商业秘密的,应及时停止并删除。

PPT第十五页

第十五页演讲稿:

最后, 想说一句, 爬虫有利有弊, 望合理运用

PPT第十六页

第十六页演讲稿:

谢谢观看!

视频:

https://cloud.tencent.com/developer/video/10541

相关资料:

Puppeteer中文文档: https://zhaoqize.github.io/puppeteer-api-zh_CN/#/

Cheerio中文文档: https://github.com/cheeriojs/cheerio/wiki/Chinese-README

Got文档: https://github.com/sindresorhus/got/blob/master/readme.md

Playwright文档: https://playwright.dev/docs/intro

推荐相关爬虫软件

火车头采集器(可在HTML源码中查看到数据的页面): http://www.locoy.com/

火车头浏览器(不能在HTML源码中查看数据的页面): http://www.locoyposter.com/

火车头私有云(都可+分布式+跨平台): https://www.locoycloud.com/

触控精灵(手机端爬虫): http://www.locoyphone.com/

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
【技术创作101训练营】用NodeJS来入门爬虫
下面,简单介绍一下今天所讲的一些内容,首先是,什么是爬虫?以及为什么要有爬虫,然后是怎么去做爬虫
<<上一篇
下一篇>>