项目简介:本实验通过使用 Python 实现一个淘宝女郎图片收集爬虫,学习并实践 BeautifulSoup、Selenium Webdriver 及正则表达式等知识。
一、实验说明
1.1 实验介绍
本项目通过使用 Python 实现一个淘女郎图片收集爬虫,学习并实践 BeautifulSoup、Selenium Webdriver 及正则表达式等知识。在项目开发过程中采用瀑布流开发模型。
1.2 知识点
本项目中将会学习并实践以下知识点:
- Python3 编程
- 使用 BeautifulSoup 解析 HTML 页面
- 使用 Selenium Webdriver 爬取 Web 页面
- 使用正则表达式提取所需的关键信息
1.3 实验效果
首先我们要爬取的目标页面如下:
爬取后的目录结构如下:
每个目录中都有一系列的图片:
二、基础工具
本节主要介绍和安装项目中将用到的几个基础工具。本实验使用实验楼的环境开发,中间部分步骤在不同版本的 Linux 环境下会有不同。
2.1 安装 pip3
首先,由于使用的工具都需要通过 pip3 进行安装,实验楼的环境中没有安装 pip3,所以需要先将pip3准备好。
打开桌面上的 Xfce 终端,输入下面的命令安装 pip3:
sudo apt-get update
sudo apt-get install python3-pip
2.2 安装 BeatifulSoup
简介
BeautifulSoup
库的名字取自刘易斯·卡罗尔在《爱丽丝梦游仙境》里的同名歌词。就像故事中他在仙境中的说法一样,BeautifulSoup
试图化平淡为神奇。它通过定位 HTML
标签来去格式化和组织复杂的网络信息,用简单易用的 Python
对象为我们展现 XML 结构信息。
安装
由于这次实验是在 python3.X
版本以上的所以,将拓展库安装到特定的库中使用 pip3
,从而安装到 python3
的系统目录中,仍然是在实验楼中的 Xfce 终端执行命令:
sudo pip3 install Beautifulsoup4
BeautifulSoup4
是现今的最新版本,也是接下来重点使用的工具。
2.3 Selenium
简介
Selenium 是一个强大的网络数据采集工具,最初是为网站自动化测试而开发的。近几年,他还被广泛用于获取精确的网站快照,因为他们可以直接运行在浏览器上。Selenium
可以让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作上是否发生。
Selenium
自己不带浏览器,它需要与第三方浏览器结合在一起使用。例如,可以在实验楼桌面上的 Firefox
浏览器上运行Selenium
,可以直接看到一个 FireFox
窗口被打开,进入网站,然后执行你在代码中设置的动作。虽然使用 Firefox
浏览器看起来更清楚,但在本实验中我们采用 PhantomJS来代替真实的浏览器结合使用。
安装
可以通过 PyPI网站 下载Selenium库,也可以通过第三方管理器(像 pip3
)用命令行下载安装:
sudo pip3 install selenium
测试是否都安装成功:
2.4 PhantomJS
简介
一个 无头
的浏览器,PhantomJS
会把网站加载到内存并执行页面上的 JavaScript
,但是不会向用户展示网页的图形化界面,可以用来处理 cookie
、JavaScript
及 header
信息,以及任何你需要浏览器协助完成的事情。
安装
PhantomJS
也可以从他的 官方网站下载。因为 PhantomJS
是一个功能完善的浏览器,并非一个 Python
库,所以他不需要像Python
的其他库一样安装,也不能用 pip
安装。
实验楼的环境是 Ubuntu,可以通过 apt-get
进行安装:
sudo apt-get install phantomjs
2.5 Ajax 信息加载
现在有很多页面都是采用 Ajax 加载数据,我们即将实验的目标网址也是这样的,如果我们用传统的方法采集样的页面,只能获取加载前的页面,而我们真正需要的信息( Ajax 执行之后的页面)却抓不到,后续实验中可以看到效果的区别。
三、项目实现
本项目的详细教程、完整代码及demo测试,可在实验楼中查看并在线完成。
更多Python经典项目:Python全部-课程
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/57311.html