爬虫程序就是获取网页的信息,提取自己需要的,并保存下来,而且全程可以自动化运行的程序.
网络爬虫可以用于数据挖掘、搜索引擎优化、信息监控等领域。
但是,网络爬虫也可能会对网站造成负面影响,如过度访问导致服务器负载过高等问题。
因此,在使用网络爬虫时需要遵守相关法律法规和网站的使用协议。
其原理是通过模拟浏览器行为,访问网站并解析网页内容,从而获取所需的数据。
互联网可以想象为一张蜘蛛网,丝线就相当于网页与网页间的链接关系,多根丝线相交的那些节点就相当于一个个网页.
而我们的爬虫就是蜘蛛,沿着丝线爬到节点就相当于访问了该网页,获取了它的信息,然后蜘蛛继续沿着丝线爬到下一个节点,继续获取信息,这样整个网站的信息就被获取了.
在网页中有很多各种各样的信息
有常规的网页HTML源代码
有CSS、JavaScript文件
有图片、视频等二进制文件
还有很多API接口类的信息像JSON类信息等
都是可以爬取的.
总的来说只要是基于HTTP和HTTPS协议传输的数据都可以爬取.
前面讲了请求和响应的概念,我们对指定的网址发送一个请求,网址服务器返回响应体的数据,就是我们需要的网页源代码.
我们怎么去自动实现这个过程,并截取网页信息呢?
这时,我们就需要使用python代码库,像requests、urllib等来帮助我们自动实现请求操作,获取网站源代码了.
这个源代码中就包含了我们需要的信息,可以手动提取出来,但是数据很多的话,工作量太大了,太麻烦了.
我们同样可以用提取信息的python代码库,像Beautiful Soup、lxml等来快速提取网页中的信息,文字、图片等.
提取需要的数据后,可以保存为json和txt文本,也可以保存到数据库中,像MongoDB、Redis、Mysql等,还可以保存到远程的服务器中.
下面是抓取网站图片并保存在images文件夹下的python代码: