首先,不论爬取文本还是图片还是其他形式的内容,爬虫的原理都是一样的。
归根结底核心就是Requests.get()这一步,即模拟浏览器访问页面的过程,用一行代码请求一个URL的页面,然后(该URL所属)网站的服务器返回给你一个response,这个response中就包括了你要的网页内容。
那么,下图就是一个“最原理”的小爬虫。通过上述三个步骤构建的爬虫。爬到了www.baidu.com的源码。(有中文乱码是因为没有设置编码格式)
其实,爬虫的原理非常简单,就一个“模拟浏览器请求网页”。但是,实际情况中,或许只有“www.baidu.com”这一个网址非常友善的给大家随便爬,其他含有有价值信息的网站,都有自己的反爬机制,为了应对这些反爬机制,我们需要给爬虫加上“隐身衣”(变换user-agent,proxyIP),“风火轮”(多线程加速)以及“复活药水”(被封后自动重启续爬)才能真正爬到东西。