资讯专栏INFORMATION COLUMN

Python3 实现淘女郎照片爬虫

jindong / 2455人阅读

摘要:项目简介本实验通过使用实现一个淘宝女郎图片收集爬虫,学习并实践及正则表达式等知识。本教程由阿发布在实验楼,完整教程及在线练习地址实现淘女郎照片爬虫,可以直接在教程中下载代码使用。

项目简介:本实验通过使用 Python 实现一个淘宝女郎图片收集爬虫,学习并实践 BeautifulSoup、Selenium Webdriver 及正则表达式等知识。

本教程由阿treee发布在实验楼,完整教程及在线练习地址:Python3 实现淘女郎照片爬虫,可以直接在教程中下载代码使用demo。

一、实验说明 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,但是不会向用户展示网页的图形化界面,可以用来处理 cookieJavaScriptheader 信息,以及任何你需要浏览器协助完成的事情。

安装

PhantomJS 也可以从他的 官方网站下载。因为 PhantomJS 是一个功能完善的浏览器,并非一个 Python 库,所以他不需要像 Python 的其他库一样安装,也不能用 pip 安装。

实验楼的环境是 Ubuntu,可以通过 apt-get 进行安装:

sudo apt-get install phantomjs

2.5 Ajax 信息加载

现在有很多页面都是采用 Ajax 加载数据,我们即将实验的目标网址也是这样的,如果我们用传统的方法采集样的页面,只能获取加载前的页面,而我们真正需要的信息( Ajax 执行之后的页面)却抓不到,后续实验中可以看到效果的区别。

三、项目实现

本项目的详细教程、完整代码及demo测试,可在实验楼中查看并在线完成。
更多Python经典项目:Python全部-课程

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38114.html

相关文章

  • 爬虫 - 收藏集 - 掘金

    摘要:在这之前,还是有必要对一些概念超轻量级反爬虫方案后端掘金前言爬虫和反爬虫日益成为每家公司的标配系统。 爬虫修炼之道——从网页中提取结构化数据并保存(以爬取糗百文本板块所有糗事为例) - 后端 - 掘金欢迎大家关注我的专题:爬虫修炼之道 上篇 爬虫修炼之道——编写一个爬取多页面的网络爬虫主要讲解了如何使用python编写一个可以下载多页面的爬虫,如何将相对URL转为绝对URL,如何限速,...

    1fe1se 评论0 收藏0
  • python

    Python装饰器为什么难理解? 无论项目中还是面试都离不开装饰器话题,装饰器的强大在于它能够在不修改原有业务逻辑的情况下对代码进行扩展,权限校验、用户认证、日志记录、性能测试、事务处理、缓存等都是装饰器的绝佳应用场景,它能够最大程度地对代码进行复用。 但为什么初学者对装饰器的理解如此困难,我认为本质上是对Py… Python 实现车牌定位及分割 作者用 Python 实现车牌定位及分割的实践。 ...

    chenatu 评论0 收藏0
  • scrapy抓取女郎

    摘要:抓取淘宝女郎准备工作首先在淘宝女郎的首页这里查看,当然想要爬取更多的话,当然这里要查看翻页的不过这操蛋的地方就是这里的翻页是使用加载的,这个就有点尴尬了,找了好久没有找到,这里如果有朋友知道怎样翻页的话,麻烦告诉我一声,谢谢了,不过就这样坐 scrapy抓取淘宝女郎 准备工作 首先在淘宝女郎的首页这里查看,当然想要爬取更多的话,当然这里要查看翻页的url,不过这操蛋的地方就是这里的...

    zhoutao 评论0 收藏0
  • python爬虫实践: 豆瓣小组命令行客户端

    摘要:主要特性前一阵重新组织了一下代码加了命令行信息用起来更方便了一些初步实现了豆瓣小组及用户相关的爬虫和请求基于和没有用高阶的诸如之类的爬虫工具所有的命令行输出都是标准的格式可以使用操作安装仅支持使用两种命令模式客户端接口调用和豆瓣模块接口 主要特性 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些 初步实现了豆瓣小组及用户相关的API爬虫和请求 基于reques...

    golden_hamster 评论0 收藏0
  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<