首先我会先介绍一下爬虫的步骤和框架等基本信息,文中的代码可以去github上下载,或者去csdn的下载链接下载。首先给出链接,在后面的例子前面我会再次给出相应的链接。
第一个例子,静态网页爬取:
csdn下载: 静态网页爬取
github链接: 静态网页爬取selenium版
github链接:豆瓣网爬取
csdn下载:豆瓣网爬取
github链接:校花网爬取
csdn下载:校花网爬取
csdn下载:煎蛋网爬取
概述
使用python来对网页进行爬取,其步骤都比较固定,主要是要分析网页的结构等,再根据网页的结构来选择爬取的方法。 如果网页是静态的网页,爬取工作自然就非常轻松了,直接访问url,在其返回的response里用bs4来进行关键信息的提取或者使用re(正则表达式)来进行提取都可以获得想要的数据。
框架
在最开始我使用的是最原始的urllib来进行爬取,之后学习了requests来进行爬取。现成的框架有很多,比如scapy等,我觉得,框架只是一种工具,不需要纠结到底用哪个框架。如果你觉得用它来做开发,用得顺手,那么这个框架就很好了。
包括后面的selenium+PantomJS,是一种无界面浏览器的自动化测试工具,也是爬虫界的重量级武器了,对于很多复杂的网页,在分析它的网路的时候不好分析或者不会分析的时候,直接上selenium+pjs,可以简单暴力地获取你想要的信息。
分析步骤
首先,先要明确你需要爬取的东西是什么。比如你想要爬取某个网页上的图片(或者某个网页上的数据信息,这里以图片为例进行说明),那么我常用的步骤是:
1.先查看网页源代码(以静态网页为例,动态网页看2)
看在源代码里面有没有图片的src地址,如果有,那么这种静态网页就相对很好爬取了,这种网页就是开发人员在开发网页的时候就把网页中的所有图片都已经写死在代码里面了。如果你想要爬取这个网页中的图片信息并保存到本地的话,那么直接访问这个url,然后返回的response里面就是它的网页源代码,使用正则表达式或者bs4直接提取相关信息即可。
首先添加头部信息(用于验证你这个操作是人为的,虽然是用代码来实现访问网页,但是我们可以伪装成人来访问,这样不会被反爬)
csdn下载:静态网页爬取
github链接:静态网页爬取selenium版
#响应头信息
he