python从淘宝爬取商品信息 python爬虫爬取淘宝信息
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
(一)确定需要爬取的信息
在爬取前首先确定需要获取的信息,打开taobao,在搜索框中输入,需要获取的商品的信息,比如ipad,点击搜索
就可以看到许多的ipad,选择其中的一款商品,比如第一个
?
可以看到,其包含了以下的信息:
(1)price: 售价
(2)deal-cnt: 付款人数
(3)name: 产品名称
(4)shop_name: 店铺名称
(5)location: 店铺所在地
因此,我们可以爬取上面的这些信息,最后将结果存储在 数据库 mongo 中,最终的存储效果为:
接下来开始介绍整个的爬取流程
(二)爬取流程
1.网页特点分析
在商品页面右键查看源代码,会发现找不到需要的信息,便可以猜测其是通过ajax或者其他的方式来加载的。因此,采用selenium 和 pyquery 来爬取商品信息。
2.代码分析
2.1 导入相关的库
2.2 进行必要的初始化
2.3获取网页
首先分析网页的特点,右键 ― 查看元素,首先找到页面下方的切换网页的地方
其对应的源代码如下:
2.4获取商品信息
首先分析网页,发现商品的信息都存储在 id ="mainsrp-itemlist"?
其下面的 class = "items" 的每一个子节点 class = "item" 均代表一个商品,点开每个标签,即可看到详细信息
获取商品信息的代码如下:
2.5 存储
将最终的结果存储到 非关系型数据库 Mongo ?中
2.6主函数
2.7运行整个程序
?
2.8最终结果
?
最终爬取了4800条数据
欢迎关注,获取更多实用技能: ?
?
selenium滑块验证码 selenium淘宝扫码登录
导
语
好久没更新了,上来冒个泡吧。各位小伙伴还记得前段时间号主挖过的一个坑嘛(虽然我曾经挖过无数个坑T_T):
Selenium模拟登录系列 | B站滑块验证码破解
今天随手更新了一下SeleniumLogin这个包,支持了一波利用selenium模拟登录淘宝,顺便分享给大家。虽然不想承认,但是这篇文章其实挺水的,因为我没想到淘宝的滑块验证码这么容易就能过T_T。
废话不多说,让我们愉快地开始吧~
?
?
相
关
文
件
本系列所有相关代码都可以在这找到:
- ?
?
?
?
开
发
工
具
Python版本:3.6.4
相关模块:
selenium模块;
以及一些python自带的模块。
【【微信】】driver:
在下面这个链接里下载和电脑上的谷歌浏览器版本相匹配的驱动:
- ?
?
?
环境搭建
安装python并添加到环境变量,pip安装需要的相关模块即可。
?
?
原理简介
先实例化一个webdriver.【【微信】】对象,用于自动化操作我们电脑里的谷歌浏览器:
- ?
接着,我们用它来自动访问一下淘宝网:
- ?
并模拟点击网页左上方的"亲,请登录"以进入淘宝网的登录界面:
具体而言,代码实现如下:
- ?
- ?
自动填充一下用户名和密码:
- ?
- ?
- ?
- ?
- ?
上面的代码直接用ID来定位输入框了:
当然你也可以通过以下这些方式来定位网页中的元素,具体想怎么用全看个人喜好,初学者不必过于纠结这些东西:
- ?
- ?
- ?
- ?
- ?
- ?
- ?
自动填充完用户名和密码后,登录界面可能会出现滑块验证码,如下图所示:
这类滑块验证码需要用户按住滑块,并将它拖动到最右边。一开始我以为淘宝会加入一些检测手段以识别是机器还是人在操作滑块。结果我发现我想多了,用ActionChains函数直接把滑块一口气拖到最右边就能验证通过了:
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
最后模拟点击一下登录按钮就ok啦:
- ?
- ?
- ?
大功告成,完整源代码详见相关文件呗~
?
?
效果展示
想要学习实现原理的,可以自己参考我上传到Github上源代码:
- ?
对于不想了解原理只想直接使用的小伙伴,我已经把本文介绍的淘宝模拟登录功能打包好上传到pypi了,库的名字叫SeleniumLogin,用法和之前开源的DecryptLogin类似:
嘿嘿,之前开源的模拟登录工具包开源文档上线啦~
只不过DecryptLogin借助于requests实现各大网站的模拟登录操作,而SeleniumLogin借助于selenium。
具体而言,只需要pip安装:
- ?
然后写几行代码就可以实现淘宝的模拟登录啦:
- ?
- ?
- ?
简单演示一下效果吧:
..天猫 618 互助群怎么进,天猫 618 互助群怎么进,投票群微信互投群二维码,我们的天猫年中大促qq上天猫优惠卷群真的吗里有一些很2023年淘宝618 购物狂欢节的好玩家,你将会与一群有创造力的人一起完成淘宝618 理想生活狂欢季游戏!