获取网页内容。
我们会通过代码给一个网站服务器发送请求,它会返回给我们网页上的内容。
在我们平时使用浏览器访问服务器内容是,本质上也是向服务器发送一个请求,然后服务器返回网页上的内容。只不过浏览器还会进行一个额外的步骤,就是把内容渲染成直观优美的页面,方便给用户展现。而用程序获取的内容,因为没有经过渲染,所以我们看到的内容更加原始。
解析网页内容。
我们在上一步可以获取到整个网页的内容,由于内容过于繁杂,可能有许多数据是我们并不想要的。比如我们在一个电商平台,我们可能只对商品名和价格感兴趣,至于活动信息和用户评论等信息我们都不需要,所以需要对内容进行解析,把想要的内容提取出来。
储存或分析数据。
这一步主要取决于具体需求,比如我们一开始是想要获取数据集,所以这一步骤可能就是要把数据储存进数据库。如果我们一开始是为了分析数据,那么这一步骤就是把数据做成可视化图表。如果一开始是为了做舆情监控,那么这一步骤就可能是用AI做文本情绪分析。
以上步骤使用于爬取一个网页的情况,当然我们也可以给一串网址,让程序一个个去爬取,或者让程序以某个网址为根,顺着把那个网页上链接指向的地址也爬取一遍。
俗话说爬虫学的好,牢饭吃的早。其实技术本身是无罪的,重要的是如何去使用这项技术。在爬虫过程中,我们必须遵守一些规则:
除了上述红线之外,我们还必须确保自己写的爬虫是一只温和善良的虫:
robots.txt
,了解可爬取的网页路径范围。这个文件会指明哪些网页允许被爬取,那些不允许被爬取,有些还会列出专门针对搜索引擎爬虫的许可范围。