Python爬虫经典实战项目——电商数据爬取!

电商数据采集爬虫背景

在如今这个网购风云从不间歇的时代,购物狂欢持续不断,一年一度的“6.18年中大促”、“11.11购物节”等等成为了网购电商平台的盛宴。在买买买的同时,“如何省钱?”成为了大家最关心的问题。

比价、返利、优惠券都是消费者在网购时的刚需,但在这些“优惠”背后已产生灰色地带。

图片

图片

网络爬虫由于成本和门槛较低,成为常用的数据获取技术手段,在遵循网络法律规定的前提之下,进行电商网站数据源爬取来进行商业分析。那么本期《上进计划》给大家带来的项目就是通过爬虫技术,让大家掌握常用的数据采集方式。

图片

爬虫概述

Python爬虫是用Python编程语言实现的网络爬虫,主要用于网络数据的抓取和处理。相比于其他语言,Python是一门非常适合开发网络爬虫的编程语言,大量内置包,可以轻松实现网络爬虫功能。Python爬虫可以做的事情很多,如搜索引擎采集数据广告过滤等,Python爬虫还可以用于数据分析,在数据的抓取方面作用巨大!

图片

图片

Python爬虫架构组成

1.URL管理器:管理待爬取的url集合和已爬取的url集合,传送待爬取的url给网页下载器;
2.网页下载器:爬取url对应的网页,存储成字符串,传送给网页解析器;
3.网页解析器:解析出有价值的数据,存储下来,同时补充url到URL管理器。

Python爬虫工作原理

Python爬虫通过URL管理器,判断是否有待爬URL,如果有待爬URL,通过调度器进行传递给下载器,下载URL内容,并通过调度器传送给解析器,解析URL内容,并将价值数据和新URL列表通过调度器传递给应用程序,并输出价值信息的过程。

Python之所以强大,一个重要的原因就是,拿来即用的代码库丰富!Python内置的urllib模块,用于访问网络资源。但是,它用起来比较麻烦,也缺少很多实用的高级功能,更好的方案是使用Requests,我们今天的主角就是Requests

关于Requests

Requests 自我定义为 HTTP for Humans:让 HTTP 服务人类,或者说最人性化的 HTTP。言外之意,之前的那些 HTTP 库太过繁琐,都不是给人用的。(urllib 表示:怪我咯!)

尽管听上去有些自大,但实际上它的的确确配得上这个评价,用过的都说好。这真的是一个非常值得使用的库,开发效率确实有很大的提升。

Requests提供了官方中文文档,其中包括了很清晰的“快速上手”和详尽的高级用法和接口指南。以至于我觉得再把文档里面内容搬运过来都是一种浪费。对于 Requests,要做的仅仅是两件事:

Ø 告诉你有这样一个工具,用来开发爬虫很轻松

Ø 告诉你它的官方文档很好,你去读就可以了

Requests的使用

1、pip安装Requests

  • pip install requests

2、示例:一行代码使用Requests

# 导入 Requests 模块

import requests

# 然后,尝试获取某个网页。本例子中,我们来获取Github 的公共时间线

r = requests.get('https://api.github.com/events')

3、Requests常用调用(get、post)

  • GET 变量接受所有以 get 方式发送的请求,及浏览器地址栏中的 ?之后的内容。

  • POST 变量接受所有以 post 方式发送的请求,例如,一个 form 以 method=post 提交

  • REQUEST 支持两种方式发送过来的请求,即 post 和 get 它都可以接受, 显示不显示要看传递方法,get 会显示在 url 中(有字符数限制),post 不会在 url 中显示,可以传递任意多的数据(只要服务器支持)。

4、Requests返回参数

  • r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败

  • r.text HTTP响应内容的字符串形式,即url对应的页面内容

  • r.encoding 从HTTP header中猜测的响应内容编码方式

  • r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)

  • r.content HTTP响应内容的二进制形式

关于Requests作者的冷知识

Requests的作者叫肯尼斯·赖茨(Kenneth Reitz),现就职于知名云服务提供商 DigitalOcean,曾是云计算平台 Heroku 的 Python 架构师,目前 Github 上 Python 排行榜第一的用户。(star 数超过了包括 google、tensorflow、django 等账号)

但他被更多路人所熟知的,恐怕还是他从一名技术肥宅逆袭成为文艺高富帅的励志故事。

图片

再来看看他个人主页 www.kennethreitz.org 上的标签:

图片

除了程序员,他个人还有摄影师、音乐家、演讲者这样的一些身份,不得不说他的人生如同开了挂一般!

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值