一 点睛
并不是所有页面都可以通过分析Ajax来完成抓取。比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可能会包含加密密钥等,所以如果想自己构造Ajax参数,还是比较困难的。对于这种页面,最方便快捷的抓取方法就是通过Selenium。
二 需求
利用Selenium抓取淘宝商品并用pyquery解析得到商品的图片、名称、价格、购买人数、店铺名称和店铺所在地信息,并将其保存到MongoDB。
三 准备工作
我们首先以Chrome为例来讲解Selenium的用法。在开始之前,请确保已经正确安装好Chrome浏览器并配置好了ChromeDriver;另外,还需要正确安装Python的Selenium库。
四 接口分析
首先,我们来看下淘宝的接口,看看它是否支持Ajax。
打开天猫页面,搜索商品,比如iPad,此时打开开发者工具,截获Ajax请求,我们可以发现获取商品列表的接口。并不支持,我们只有另想它法。Selenium是一个不错的选择。
五 页面分析
我们的目标是爬取商品信息。其中包含商品的基本信息,包括商品价格、店铺名称,我们要做的就是将这些信息都抓取下来。
抓取入口就是天猫的搜索页面,这个链接可以