淘宝网页价格爬虫

目标:获取淘宝搜索页面信息,提取其中的商品名称和价格
理解:淘宝的搜索接口、翻页的处理
技术路线: requests re
使用chrome浏览器搜索淘宝商品得到url:
https://s.taobao.com/search?initiative_id=tbindexz_20170527&ie=utf8&spm=a21bo.50862.201856-taobao-item.2&sourceId=tb.index&search_type=item&ssid=s5-e&commend=all&imgfile=&q=win10%E5%B9%B3%E6%9D%BF&suggest=0_2&_input_charset=utf-8&wq=win10&suggest_query=win10&source=suggest&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=0
第二页:
https://s.taobao.com/search?initiative_id=tbindexz_20170527&ie=utf8&spm=a21bo.50862.201856-taobao-item.2&sourceId=tb.index&search_type=item&ssid=s5-e&commend=all&imgfile=&q=win10%E5%B9%B3%E6%9D%BF&suggest=0_2&_input_charset=utf-8&wq=win10&suggest_query=win10&source=suggest&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=44

分析url:
关键词在q=后,页面为s=(页面-1)*44
程序的结构设计:
步骤1:提交商品搜索请求,获取页面
步骤2:对于每个页面,提取商品名称和价格信息
步骤3:将信息输出到屏幕上

main函数编写

def main():
    goods = 'win10平板'
    depth = 2
    start_url = 'https://s.taobao.com/search?q=' +goods
    infoList = []
    for i in range(depth):
        try:
            url = start_url + '&s=' + str(44*i)
            html = getHTMLText(url)
            parsePage(infoList,html)
        except:
            continue
    printGoodsList(infoList)

代码重点在解析页面中使用到的正则表达式
plt = re.findall(r'"view_price":"[\d.]"',html)
tlt = re.findall(r'"raw_title":".
?"',html)

def parsePage(ilt,html):
    try:
        plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
        tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
        for i in range(len(plt)):
            price = eval(plt[i].split(':')[1])
            title = eval(tlt[i].split(':')[1])
            ilt.append([price,title])
    except:
        print("")
def printGoodsList(ilt):
    tplt = "{:4}\t{:8}\t{:16}"
    print(tplt.format("序号","价格","商品名称"))
    count = 0
    for g in ilt:
        count = count + 1
        print(tplt.format(count,g[0],g[1]))

输出结果

runfile('C:/Users/Sean Chang/.spyder/taobaoprice.py', wdir='C:/Users/Sean Chang/.spyder')
序号      价格      商品名称    
   1    2799.00         Dell/戴尔魔方灵越  轻薄笔记本电脑
   2    1049.00         双系统平板电脑10英寸Teclast/台电 Tbook10S二合一笔记本Win10
   3    999.00          双系统PC小平板二合一电脑WIN10安卓11.6英寸12酷比魔方 iwork1X
   4    1699.00         Jumper/中柏 EZpad 6 M4四核10.6英寸二合一手写win10平板电脑
   5    4058.00         Surface pro 4代 pro4 i5中文版WIFI 128GB平板电脑二合一3win10
   6    1088.00         现货Pipo/品铂 X10 PRO 64GB 4GB win10一体主机平板电脑手机打印
   7    1599.00         Jumper/中柏 EZpad 6 11.6英寸四核办公win10平板电脑二合一
   8    1989.00         Onda/昂达 oBook11 Pro 11.6英寸 Win10系统 二合一平板电脑
   9    1588.00         Microsoft/微软Surface Pro 绘图win10平板电脑10寸 PC平板二合一
  10    599.00          Teclast/台电 x80 pro WIFI 32GB Win10双系统平板电脑安卓8英寸
  11    600.00          10寸平板电脑win10四核安卓双系统10.1寸win8通话10.6寸9寸64G
  12    1999.00         Teclast/台电 Tbook16 Power win10安卓双系统平板电脑12二合一寸
  13    1299.00         Jumper/中柏 EZpad 6 M6四核10.8英寸办公win10平板电脑二合一
  14    1379.00         Jumper/中柏 JK01-TT 10.1英寸Win10双系统双触摸平板电脑
  15    1599.00         Teclast/台电 Tbook12S 12.2英寸二合一Win10双系统游戏平板电脑
  16    979.00          Teclast/台电 X98 Plus II双系统二合一平板电脑Win10安卓9.7英寸
  17    4088.00         Microsoft/微软 Surface Pro4平板电脑12寸Win10商务二合一笔记本
  18    1799.00         Microsoft/微软 SURFACE 3 WIFI 128GB Win10平板电脑
  19    495.00          Onda/昂达 V80 Plus WIFI 32GB 四核8英寸win10双系统平板电脑
  20    475.00          Teclast/台电 X80 Plus WIFI 32GB WIN10 双系统平板电脑 8英寸
  21    1208.00         Xiaomi/小米 小米平板3 WIFI安卓64G 16G7.9寸小米平板2win10电脑
  22    869.00          Onda/昂达 oBook20 Plus 4G 64G 10.1寸平板电脑 安卓+WIN10
  23    449.00          酷比魔方 iwork8旗舰版 32GB 8英寸64位四核WIN10游戏平板电脑
  24    599.00          Onda/昂达 V891w CH WIFI 32GB 8.9吋高清屏WIN10双系统平板电脑
  25    798.00          正品 平板电脑四核Z8350 10寸windows 双系统WIN10二合一
  26    1079.00         Teclast/台电 Tbook10S二合一PC平板电脑10.1英寸Win10安卓双系统
  27    529.00          Teclast/台电 x80 pro游戏Win10双系统平板电脑 安卓8英寸32GB
  28    979.00          Teclast/台电 Tbook11双系统 WIFI 64GB win10平板电脑10.6英寸
  29    1559.00         Teclast/台电 X2 Pro WIFI 64GB 11.6英寸平板电脑 正版Win10
  30    979.00          Teclast/台电 Tbook10双系统 WIFI 64GB Win10平板电脑10.1英寸
  31    989.00          Teclast/台电 X98 Plus II双系统 WIFI 64GB Win10平板电脑英寸
  32    529.00          Onda/昂达 V80 Plus WIFI 32GB 双系统 8.0英寸安卓Win10平板电脑
  33    479.00          Teclast/台电 X80 Plus WIFI 32GB Win10平板电脑8英寸英特尔现货
  34    999.00          Teclast/台电 X98 Plus WIFI 64GB Win10安卓双系统平板电脑英寸
  35    1199.00         Jumper/中柏 EZpad 6 M4 10.6英寸电磁屏手写win10平板电脑二合一
  36    869.00          Onda/昂达 oBook20 Plus  4G 64G  10.1寸平板电脑 安卓+WIN10
  37    799.00          Jumper/中柏 EZpad 6 M6 超薄小平板电脑win10平板电脑二合一四核
  38    4188.00         Microsoft/微软 Surface Pro4 12.3英寸Win10触屏笔记本平板电脑
  39    549.00          酷比魔方 iwork8 Air 32GB 8英寸高清WIN10双系统二合一平板电脑
  40    999.00          微软win10/8PC平板二合一办公手提笔记本电脑12/11寸超薄本游戏本
  41    1099.00         Jumper/中柏 EZpad 6 11.6英寸超薄办公win10平板电脑二合一分期
  42    529.00          酷比魔方 iwork8 Air  32GB 8英寸 四核 WIN10平板电脑送蓝牙键盘
  43    5299.00         Voyo VBook V3酷睿i7版13.3英寸Win10二合一平板电脑512G笔记本
  44    1958.00         Onda/昂达 oBook11 Pro 64G Win10系统 11.6英寸 二合一平板电脑
  45    1999.00         现货速发Teclast/台电 Tbook16 Power win10双系统二合一平板电脑
  46    1999.00         Onda/昂达 小马31 13.3英寸金属Win10商务办公娱乐平板笔记本电脑
  47    1188.00         CHUWI/驰为 Hi10 Plus 10.8寸Win10安卓双系统二合一商务平板电脑
  48    1999.00         联想10寸平板电脑win10二合一wifi办公高清4G超薄学生掌上电脑pad
  49    1389.00         Pipo/品铂 W1 pro64G 10.1英寸Win10系统手写平板电脑二合一平板
  50    475.00          Teclast/台电 X80 Plus WIFI 32GB Win10平板电脑 8英寸游戏现货
  51    4199.00         Voyo VBook V3七代酷睿i5版13.3英寸二合一Win10平板电脑超极本
  52    1579.00         Teclast/台电 Tbook12S 12.2英寸二合一Win10双系统游戏平板电脑
  53    1999.00         Teclast/台电 Tbook16 Power win10双系统平板电脑11.6英寸二合一
  54    579.00          Teclast/台电 X80 Power双系统游戏Win10平板电脑 安卓8英寸32GB
  55    539.00          Teclast/台电 x80 pro游戏Win10双系统平板电脑 安卓8英寸32GB
  56    1298.00         Teclast/台电 Tbook16 Pro WIFI 64GB二合一Win10平板电脑双系统
  57    17888.00        Microsoft/微软 Surface Book i7 8GB增强版平板电脑二合一win10
  58    599.00          Microsoft/微软 Surface Pro 4 M3/I5平板电脑二合一笔记本win10
  59    1999.00         酷比魔方 i7手写版  10.6英寸电磁屏酷睿M win10/8二合一平板电脑
  60    6400.00         Microsoft/微软 Surface Pro 4 i5平板笔记本电脑二合一国行win10
  61    1599.00         Teclast/台电 Tbook12S双系统Win10平板电脑二合一安卓12.2英寸10
  62    1979.00         Teclast/台电 Tbook16 Power win10双系统平板电脑11.6英寸二合一
  63    1079.00         Teclast/台电 Tbook10S二合一PC平板电脑10.1英寸Win10安卓双系统
  64    5288.00         Lenovo/联想 Miix5 Miix5 Plus平板电脑二合一12英寸win10笔记本
  65    629.00          Pipo/品铂 X8s WIFI 32GB 手机照片打印服务器主机win10平板电脑
  66    749.00          Pipo/品铂 X9s WIFI 32GB 蓝牙手机照片打印服务器win10平板电脑
  67    719.00          Onda/昂达 oBook20 SE 32G 10.1双系统win10安卓二合一平板电脑
  68    1850.00         现货戴尔/Dell Venue 8 Pro 5855 8寸平板电脑Z8500 4G 64G Win10
  69    1398.00         Teclast/台电 TBook12 Pro平板电脑二合一Win10双系统12.2英寸64G
  70    1079.00         Teclast/台电 Tbook10S游戏Win10平板电脑二合一双系统 安卓寸
  71    4599.00         Lenovo/联想 MIIX 510 5平板电脑PC二合一12.2英寸win10笔记本12
  72    780.00          英特尔win10平板电脑二合一10寸四核安卓双系统4G64G超极本双USB
  73    1399.00         Teclast/台电 TBook12 Pro二合一平板电脑Win10安卓双系统寸12
  74    998.00          微软win10/8PC平板二合一手提办公笔记本电脑12/11寸超薄本游戏本
  75    2330.00         Lenovo/联想 Yoga BOOK安卓/win10触摸平板笔记本二合一电脑10寸
  76    1299.00         Onda/昂达 oBook10 Pro 10.1英寸 Win10二合一笔记本平板电脑现货
  77    1579.00         Teclast/台电 TBook12 Pro平板电脑二合一Win10双系统12安卓英寸
  78    1099.00         Pipo/品铂 w1s 64GB Win10双系统10.1英寸PC游戏二合一平板电脑
  79    1978.00         Teclast/台电 Tbook16 Power win10安卓双系统平板电脑12二合一
  80    1265.00         Onda/昂达 oBook10 Pro 10.1英寸Z8700芯二合一WIN10平板电脑现货

你可能感兴趣的:(淘宝网页价格爬虫)