Python 爬虫实战入门(上)

 

 

之前为了工作需要,写了不少爬虫小程序,和同事们聊得过程中发现,很多人对爬虫还是停留在听说过的阶段,基于这个原因,特意写点适合小白看的,希望大家能对爬虫有个小认知。

 

工欲善其事必先利其器,既然要写爬虫,那第一步,就是环境准备,先来看看我们需要的基础环境。

操作系统: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

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

 
posted @ 2020-03-19 16:41  码同学软件测试  阅读(332)  评论(0编辑  收藏  举报