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