爬取淘宝商家货物简单销售数据(销量,价格,销售地,货物名称)

   日期:2024-11-07    作者:caijiyuan 移动:http://ljhr2012.riyuangf.com/mobile/quote/3108.html

爬取淘宝商家货物简单销售数据(销量,价格,销售地,货物名称)

前天接一个爬取淘宝商家(自行车)信息的请求,要求数据按照其销售量排行。

完成该请求后,爬取数据(李宁卫衣)如下在这里插入图片描述

接下来看如何实现的

首先打开淘宝网:https://www.taobao.com/,在搜索栏输入自行车,结果发现页面转跳到https://login.taobao.com/member/login.jhtml 淘宝登录页面,要求登录才能进行关键字搜索获取数据。(需要登录的时候应当想到cookies

cookies 及其用处: 当我们登录某网站时,服务器会生成一个cookies,包含有用户登录等信息,与当前账号绑定,浏览器将此cookies存储到。下一次,浏览器带着cookies访问网站,就不需要在输入账号密码。注意cookies是有时效性的。

所以,目标明确,第一步,获取用户登录的cookies

需要登录淘宝页面获取cookies,才能执行后续操作。而模拟登录有两种方法

  • 搞清淘宝登录机制,修改参数登录。(借鉴裸睡的猪 猪哥的文章
  • 使用selenium调用webdriver模块,模拟人真实的操作浏览器。

方法一:直接看源码+备注,具体原因看猪哥的解释(当然代码是自己写的啊,思想借用

 

在自行登录以后,把参数都复制到Data里替换掉代码中的data就可以。 在这里插入图片描述

方法二:使用selenium调用webdriver模块(自己写的,所以解释详细点

前提是安装了Chorm driver插件,Chorm插件下载地址。 下载完成后,解压到python根目录下即可。

driver可以模拟人在目标栏目输入,也可以模拟人对按钮进行点击。

对登录页面以及源码进行分析:发现在这里插入图片描述

 

所以,代码如下:在账号密码框里输入内容,点击登录进行登录.

 

注意,有时候登录时需要滑动滑块,手动滑动登录即可。

到此用户操作所用cookies的已经获取,这时候就可以搜索关键字了

进入搜索页:https://s.taobao.com/search? 输入关键字,观察url变化 在这里插入图片描述

我们发现q参数对应着搜索内容。然后翻动页面,来到第二页,观察url变化,发现变化的有s参数 在这里插入图片描述

研究多个页面发现,url需要修改的参数只有q与s。

在翻页的过程中,发现我们所需要的内容在Response的第0个回应中,即存在于Element中,所以只要获取到该网页的源码,就可以获取到数据。 在这里插入图片描述

所以使用https://s.taobao.com/search?q=自行车&s=88 这个格式(q表示搜索的关键字,s*44代表页数)的链接就可以访问带有数据的源码。

所以代码如下

 

这是我爬取的一个李宁卫衣的网页源码,发现重要信息保存在一个大字典:g_page_config中 在这里插入图片描述 在这里插入图片描述

所以我们可以通过正则表达式获取这个大字典,然后逐一提取各数据。或者直接正则各数据提取,我们采用第二种方法。

 

到这里已经把所有有效数据存储到title,location等变量中。它们均为字符串列表

使用csv保存数据

 

因为要求数据要根据销量降序排列,而销量数据格式为字符串。分析源码,发现源码中销量的表示一般有’8000+’、‘1.6万+’、‘784’这几种表示。即如果销量小于10000,则按照 ‘具体数字’ 或 ‘具体数字+’ 这样表示,如’845’、‘3500+’,如果数据大于一万,则会在后续加个万字, 如’1.6万+’,‘5.8万’,强转为float时需要做判断

所以,通过条件判断语句和if else判断

 

还有一个发现就是,商品的链接与nid是有关系的,具体关系如下

 

到此代码已经分析完毕,源码如下,登录时修改自己的账号密码,以及文件的保存路径即可


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号