首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python:Selenium模拟浏览器抓取淘宝商品美食信息

众所周知,淘宝的网页是非常复杂的,我们按照上面的模拟 Ajax 的请求去获取 json 数据并且解析的方式已经不那么好用了,于是我们要祭出我们的终极杀器—-Selenium ,这个库可以调用浏览器驱动或者是 phantomjs 来模拟浏览器的请求,有了它我们就可以通过脚本去驱动浏览器,这样哪些动态加载的数据就不用我们自己去获取了,非常方便。

1.分析网页确定思路

打开淘宝,输入“美食”,回车

我们想要获取网页上加载的图片,但是我们找到页面的原始请求的页面的结果,我们会发现当我们刚一翻就已经出现页尾的代码了,实际上页面的主体还不知道在哪,我尝试翻找了一下 XHR 请求发现依然不是很明显,这种情况下为了减轻我们的抓取负担,我们可以使用 selenium 配合 Chromedriver 去获取加载好的完整页面,然后我们再使用正则去抓取图片,这样就非常轻松容易了。

思路梳理:

(1)利用 selenium 库配合chromedriver 请求淘宝并输入“美食”搜索参数,获取商品列表

(2)获取页码,并模拟鼠标点击操作获取后面页码的商品信息

(3)使用 PyQuery 分析源码,得到商品的详细信息

(4)将商品信息存储到 MongoDB 数据库中

2.代码实现

config.py

MONGO_URL = 'localhost'

MONGO_DB = 'taobao'

MONGO_TABLE = 'product'

spider.py

3.运行效果

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190514A0N4JX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券