之前为了工作需要,写了不少爬虫小程序,和同事们聊得过程中发现,很多人对爬虫还是停留在听说过的阶段,基于这个原因,特意写点适合小白看的,希望大家能对爬虫有个小认知。
工欲善其事必先利其器,既然要写爬虫,那第一步,就是环境准备,先来看看我们需要的基础环境。
操作系统:Windows 10
Python版本:Python 3.6
代码编辑运行环境:个人推荐PyCharm社区版。
依赖第三方库:
requests:一个方便、简洁、高效且人性化的HTTP请求库
BeautifulSoup:HTML解析库
安装的话,本身步骤并不是很复杂,我们来看看。
1.安装Python运行环境
从python官网可以进行下载
https://www.python.org/downloads/release/python-365/
安装的时候注意选中把python3.6添加到path,然后点击Customize installation
确认pip是选中的
2.安装pycharm
可以从官网下载pycharm社区版,安装教程可以百度
https://www.jetbrains.com/pycharm/download/#section=windows
3.安装第三方依赖库
这里给大家介绍两种安装方式:
第一种是选用pip安装:在cmd中运行pip install requests 或者 pip install bs4
另外一种我们可以借助pycharm安装,在pycharm中选择File->settings->Project Interpreter中,点击右边的+,然后输入我们需要安装的第三方库
这样我们基本爬虫需要的环境就配置好了,那接下来,就开始我们愉快的爬虫之旅吧。
那开始实战之前,我们先来分析一下我们的爬虫需要完成一个什么样的流程。
人工抓取页面数据做法
1:打开我们需要分析的网页,我们以豆瓣电影top 250 为例:
https://movie.douban.com/top250
2:确认我们需要保存的数据,我们在这将影片名字,评分和一句话评价保存下来,那就是将每条里面的数据copy并复制下来
3: 因为当前页面只能展示25条,那我们需要对后续的网页进行顺序读取,确认我们将250条都读取出来。
那根据对人工动作的分析,我们可以对我们的程序进行以下分析
1. 我们需要有一个可以爬取页面请求的动作
2. 我们需要对爬取下来的页面进行分析
3. 我们需要对页面请求进行一个循环,将250条数据都爬取下来
那基于这些需求,我们首先需要做的就是对页面请求进行爬取,那在这里,给大家介绍一个页面请求的库,就是requests。
这里是它的基本文档介绍:
https://requests.readthedocs.io/zh_CN/latest/
看它的介绍:Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。就知道这是一个非常简单好用的网络库了。
我们先来看一下怎么爬取第一个网页 (test1.py)
运行一下看看效果
根据打印出来的内容,我们可以看到,第一个网页已经被我们爬取下来了,那接下来,我们就需要分析一下后续网页有什么规律可以让我们使用
第一页:https://movie.douban.com/top250
第二页:https://movie.douban.com/top250?start=25&filter=
第三页:https://movie.douban.com/top250?start=50&filter=
第四页:https://movie.douban.com/top250?start=75&filter=
我们可以看出来,从第二页开始,每一个连接后面都需要一个start的参数,而且是以25递增的,那我们可以对我们的程序进行以25递增的获取页面(test2.py):
到这里,我们已经可以将网页都爬取下来了,那下一步要做的就是对我们需要的内容进行提取了,我们下一次来实现内容提取。
本文所有代码都可以在github上下载,链接地址为:
https://github.com/chrisblue0605/testspider_for_py.git
作 者:Testfan Chris
出 处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接