用到了requests库和re库

import requests
import re
lis = []
# https://s.taobao.com/search?q=荣耀v20&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306
# https://s.taobao.com/search?q=荣耀v20&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=44
# https://s.taobao.com/search?q=荣耀V20&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=88
kv = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36","Cookie":'换成自己的Cookie'
}# 获取html页面
def getHTMLpages(url):try:r = requests.get(url, headers=kv, timeout=30)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""# 将商品信息存入列表
def getGoodsinfo(lis, html):# "raw_title":"honor/荣耀 荣耀play 微商手机 营销手机 小V  不凡 霸屏推"# "view_price":"6280.00"# "view_sales":"7人付款"或者"2.0万+人付款"或者"6000+人付款"title = re.findall(r'\"raw_title\"\:\".*?\"', html)  # .字符,*0或n次扩展,?表示最小匹配price = re.findall(r'\"view_price\"\:\"[\d.]*\"',html)  # [\d.]*表示0-9或者.的0次或者多次取值sales = re.findall(r'\"view_sales\"\:\"[\d\.]*[\u4e00-\u9fa5]?\+?人付款\"',html)  # [\u4e00-\u9fa5]表示中文字符for i in range(len(title)):tit = eval(title[i].split(':')[1])pri = eval(price[i].split(':')[1])sal = eval(sales[i].split(':')[1])lis.append([tit, pri, sal])# return lis# 从列表中读取商品信息
def printGoodsinfo(lis):form = "{:^2}\t{:<50}\t{:>8}\t{:>8},"print(form.format("序号", "商品名称", "商品价格", "商品销量", chr(12288)))# for i in range(len(lis)):#     print("{:^3}\t{:^20}\t{:^10}\t{:^20}".format(i+1,lis[i][0],lis[i][1],lis[i][2],lis[i][3]))count = 1print()for i in lis:  # i代表一行print(form.format(count, i[0], i[1], i[2], chr(12288)))count += 1if __name__ == "__main__":# f = open("D:\VscodePy\pytest\html.txt", encoding='utf-8')# sss = f.read()# f.close()s = input("请输入要查询的商品名称:")start_url = "https://s.taobao.com/search?q=" + sprint(start_url)count = eval(input("请输入要查询的页数:"))for i in range(count):url = start_url + '&s=' + str(i * 44)html = getHTMLpages(url)# print(html)getGoodsinfo(lis, html)# getGoodsinfo(lis, sss)printGoodsinfo(lis)

运行结果:

注意: 同一个cookie和ip如果反复爬取,会被淘宝的反爬限制,会让滑动验证,这时候如果不想办法解决这个滑动验证,就会出现爬取数据为空的情况,因为你获取到的网页是滑动验证页面的网页。我的做法是把一次爬取下来的网页存放到一个文本文件里面,然后调试代码时直接从那个文件读取网页代码就行,这样就不需要反复爬取了。上面贴的代码是我调试后的最终代码。

Python爬取淘宝商品价格销量信息相关推荐

  1. python爬淘宝商品销量信息_Python爬取淘宝商品价格销量信息

    用到了requests库和re库 import requests import re lis = [] # https://s.taobao.com/search?q=荣耀v20&imgfil ...

  2. python爬淘宝商品销量信息_python爬取淘宝商品销量信息

    python爬取淘宝商品销量的程序,运行程序,输入想要爬取的商品关键词,在代码中的'###'可以进一步约束商品的属性,比如某某作者的书籍,可以在###处输入作者名字,以及时期等等.最后可以得到所要商品 ...

  3. 用Python爬取淘宝网商品信息

    用Python爬取淘宝网商品信息 转载请注明出处 网购时经常会用到淘宝网 点我去淘宝但淘宝网上的商品琳琅满目,于是我参照中国大学 MOOC的代码写了一个爬取淘宝网商品信息的程序 代码如下: impor ...

  4. Python爬取淘宝女模特信息

    前言 Python爬取淘宝美女信息下载本地并同时存储mysql数据库,存储数据库用到了pymysql模块,sql语句简单好用,直接上代码,源码请点链接Python-Spiders文集. 项目结构: 本 ...

  5. python爬取淘宝商品页面信息

    import timefrom selenium import webdriver from selenium.webdriver.common.keys import Keyskey_words = ...

  6. python爬虫学习 之 定向爬取 淘宝商品价格

    python爬虫学习 之 定向爬取 淘宝商品价格 import requests import redef getHTMLText(url):try:r = requests.get(url, tim ...

  7. python使用requests库爬取淘宝指定商品信息

    python使用requests库爬取淘宝指定商品信息 在搜索栏中输入商品 通过F12开发者工具抓包我们知道了商品信息的API,同时发现了商品数据都以json字符串的形式存储在返回的html内 解析u ...

  8. 第一篇博客,python爬取淘宝信息

    python爬取淘宝信息 本人只是刚学python的菜鸟,代码不规范及需改进的地方请指教 我们直接看代码吧!哈哈 import requests from bs4 import BeautifulSo ...

  9. python电商数据挖掘_利用Python爬取淘宝商品并数据挖掘与分析实战!此乃大型项目!...

    项目内容 本案例选择>> 商品类目:沙发: 数量:共100页 4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...

最新文章

  1. linux web服务器,防火墙iptables最简配置
  2. 从0开始学springboot之启蒙篇
  3. New Linux2.6 I2C Driver Model Example
  4. LeetCode 82 删除排序链表中的重复元素||-中等
  5. 35 WM配置-作业-定义需求类型
  6. centos7搭建git代码仓库
  7. Python之路(运算符)
  8. python简介pdf_Py之pdfkit:python的库之pdfkit简介、安装、使用方法详细攻略
  9. JavaScript加密库Crypto-JS的使用
  10. 在GRIDVIEW中合并单元格
  11. 如何成功发布一个MSMQ的Windows服务
  12. php smarty数学函数,smarty详解二:从文件读取变量、保留变量、数学计算、内建函数...
  13. 【译】Jep 文档(2)——基本用法(Basic Usage)
  14. 极域电子教室创建和登录教师端的方法
  15. R语言实现单变量分析教程
  16. 16进制字符串转16进制整数
  17. mysql数据库应用(六)----操作表的约束
  18. 没有项目种类分配到科目 1901090000/KTK
  19. linux hwclock -r显示的HWC TIME(硬件时钟时间)与timedatectl结果中的RTC TIME(实时时钟时间)有什么区别?BIOS时钟源
  20. 英语-新视野大学英语四课后翻译(全)

热门文章

  1. AI:一个20年程序猿的学习资料大全—人工智能之AI/机器学习/深度学习/计算机视觉/Matlab大赛——只有你不想要的,没有你找不到的
  2. 9.3 Trains and Evaluates the MNIST network using a feed dictionary
  3. Adam公式+参数解析
  4. 微信小程序界面跳转(1)
  5. set nocount on
  6. Python 爬取生成中文词云以爬取知乎用户属性为例
  7. SEO那些事:一句代码一键分享网站
  8. 超市账单管理------之获取总记录数
  9. Android之微信支付
  10. [转]VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT