import time
import json
import requests
import xlrd
import random
import os
from xlutils.copy import copy  #导入模块
excel = r'C:\Users\Administrator\Desktop\查排名.xls'
try:
rdx = xlrd.open_workbook(excel, formatting_info=True) #打开Excel,并保留原格式
except:
print( "no excel in %s " % excel )
newb = copy(rdx) #复制一份做输出
#sh = rdx.sheet_by_index(name)
print('\033[31;1m已录入型号 :\033[0m',(rdx.sheet_names())) #所有sheets.name
#sh=rdx.sheet_names()
for sheet_n in rdx.sheet_names(): #循环整个工作簿
sh1=rdx.sheet_by_name(sheet_n) #工作表对象
w_sheet=newb.get_sheet(sheet_n) #获取sheet名称查
id=str(int(sh1.cell_value(0,1))) #int浮点转整数 str转字符串
print('id' ,sh1.cell_value(0,1), id ,type(id))
print('\033[31;1m查询型号 :\033[0m'+ sheet_n)
tplt = "{:3}\t{:23}" #这里控制输出 行数
for i in range(sh1.nrows): #非空行行数 整个型号的词循环
i1=str(sh1.cell_value(i, 0))
if i1=="": #空行退出
break
time.sleep(random.uniform(1.5,3.6)) #随机浮点数
url='https://s.m.taobao.com/search?q='+i1+'&sst=1&n=20&buying=buyitnow&m=api4h5&token4h5=&abtest=3&wlsort=3&page=name'
        
#url获取地址
1.淘宝手机端链接地址登录s.m.taobao.com
2.输入查询的关键字 审查元素 这里记得刷新一次
3.network 右侧name 一个个打开 需要的信息就在preview里面
4.恭喜找到自己需要的信息


       # url='https://s.m.taobao.com/search?q='+i1+'&sst=2&n=40&buying=buyitnow&m=api4h5&abtest=22&wlsort=22&page=name'
#这里是找到目标真正的地址 headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.name; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
comments = requests.get(url,headers=headers) #这里有问题临时处理办法
try:
js = json.loads(comments.text) except json.decoder.JSONDecodeError:
continue count=0
for j in js['listItem']: #所有店铺信息
count+=1
if j['item_id']==id: #如果id相同
print('j]',j['item_id']==id)
w_sheet.write(i,2,count)
break
else :
# print(tplt.format('没找到',i1))
w_sheet.write(i,2,'没找到')
w_sheet.write(i+1,2,time.strftime('%m-%d ',time.gmtime()))
print(" 任务完成!")
os.remove(r'C:\Users\Administrator\Desktop\查排名.xls')
newb.save(r'C:\Users\Administrator\Desktop\查排名.xls') print('\033[32;1m查询完成!\033[0m','\n','warning:以上是查询无线两页45位结果!') ps:记得Excel 不要有多于空白工作表 不然会报错

python爬取淘宝排名的更多相关文章

  1. Python 爬取淘宝商品数据挖掘分析实战

    Python 爬取淘宝商品数据挖掘分析实战 项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 爬取淘宝商品 ...

  2. 使用Python爬取淘宝两千款套套

    各位同学们,好久没写原创技术文章了,最近有些忙,所以进度很慢,给大家道个歉. 警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系猪哥删除! ...

  3. 甜咸粽子党大战,Python爬取淘宝上的粽子数据并进行分析

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 爬虫 爬取淘宝数据,本次采用的方法是:Selenium控制Chrome浏览 ...

  4. Python爬取淘宝店铺和评论

    1 安装开发需要的一些库 (1) 安装mysql 的驱动:在Windows上按win+r输入cmd打开命令行,输入命令pip install pymysql,回车即可. (2) 安装自动化测试的驱动s ...

  5. 【Python爬虫案例学习】Python爬取淘宝店铺和评论

    安装开发需要的一些库 (1) 安装mysql 的驱动:在Windows上按win+r输入cmd打开命令行,输入命令pip install pymysql,回车即可. (2) 安装自动化测试的驱动sel ...

  6. 一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. 很多人学习python,不知道从何学起.很多人学习python,掌握了 ...

  7. 【Python爬虫案例学习】python爬取淘宝里的手机报价并以价格排序

    第一步: 先分析这个url,"?"后面的都是它的关键字,requests中get函数的关键字的参数是params,post函数的关键字参数是data, 关键字用字典的形式传进去,这 ...

  8. python 爬取淘宝的模特照片

    前段时间花了一部分时间学习下正则表达式,总觉得利用正则要做点什么事情,所以想通过爬取页面的方式把一些美女的照片保存下来,其实过程很简单. 1.首先读取页面信息: 2.过滤出来照片的url地址: 3.通 ...

  9. Python 爬取淘宝商品信息和相应价格

    !只用于学习用途! plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html) :获得商品价格和view_pri ...

随机推荐

  1. U-boot分析与移植(2)----U-boot stage1分析

    我们要生成u-boot.bin文件,它首先依赖于很多.o文件和.lds链接脚本文件 我们只要找到对应的.lds链接脚本文件就可以分析u-boot的启动流程. 1.打开u-boot-1.1.6\u-bo ...

  2. PHP函数(四)-变量函数

    变量函数 将声明的函数的函数名赋给一个变量,通过该变量来调用函数 <?php function Calculate($a,$b){ return $a + $b; } echo "计算 ...

  3. Python实现SSH连接远程服务器

    首先需要安装paramiko模块 #-*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import paramiko ssh = p ...

  4. Mysql实用知识点总结

    本文介绍MYSQL相关知识,方便日常使用查阅 目录 准备 MYSQL常用命令 语言结构 sql语句 外键 自然语言全文搜索 准备 你可以使用 Navicat Premium 12 或者 MySQL W ...

  5. day6心得

    面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思 ...

  6. 如何在老惠普电脑上安装windows xp系统

    如何在老惠普电脑上安装windows xp系统 前提,老式的紧凑的惠普台式机,装了linux系统,想要装windows xp系统另作他用.但是使用U盘PE怎么也进不了? 解决办法: 1.拆下惠普主机上 ...

  7. python学习——练习题(5)

    """ 题目:输入三个整数x,y,z,请把这三个数由小到大输出. """ def inputInt(i): ""&quo ...

  8. leetcode598

    public class Solution { public int MaxCount(int m, int n, int[,] ops) { ); ); || col == ) { return m ...

  9. 华为部分真机调试无法显示log问题解决

    真机测试时,部分华为手机无法获取全部的log信息.或者说无法获取Error以下级别的log信息.比如P7 这是因为部分华为机出厂默认log设置为关闭状态,因此只能获取Error以上级别的log信息.蛋 ...

  10. Ubuntu16.04安装之后的几个设置

    Ubuntu16.04安装之后的几个设置 Ubuntu16.04界面很漂亮,但是安装之后,需要做如下几个简单的设置,这样用的时候会更加顺畅. 1.中文支持 在右上角有一个齿轮,点击->Syste ...