[笔记]python爬虫:淘宝商品价格信息爬取示例

爬取的网站信息

网站地址
淘宝官网:https://www.taobao.com/
爬取内容
碧根果价格信息
网页对应的部分源代码
这里写图片描述

从网页源代码中可以看到,需要爬取的商品以 “raw_title”:”…”这样的键值对出现,如:”raw_title”:”【百草味-碧根果218gx2袋】坚果零食干果特产 奶油味长寿果炒货”;对应的价格信息以”view_price”:”…”这样的键值对出现,如”view_price”:”52.80”。根据这个特征,可以利用正则表达式来寻找想要的信息并爬取,存储:

爬取代码编写:

import requests
import re
#获得网页
def getHTMLtext(url):
    try:
        r=requests.get(url, timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return(r.text)
    except:
        return('')
#分析处理网页,获得需要爬取的商品名称和价格
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]))

def main():
    goods='碧根果' #搜寻的关键词
    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)
main()

运行结果:

  序号      价格              名称              
   1    38.90           百草味 碧根果218gx2袋 长寿果热销爆款坚果
   2    39.90           抢【三只松鼠_碧根果210gx2袋】零食坚果山核桃长寿果干果奶油味
   3    38.90           【百草味-碧根果218gx2袋】坚果零食干果特产 奶油味长寿果炒货
   4    29.80           新货碧根果仁奶油味长寿果仁美国山核桃仁188克X1袋坚果零食包邮
   5    25.90           特价包邮洽洽撞果仁40g*3袋柠檬黑糖椰蓉三种口味恰恰坚果碧根果
   6    20.00           楼兰蜜语官方旗舰店坚果干果奶香碧根果215克山核桃坚果2件包邮
   7    52.90           碧根果500g包邮 三只松鼠 零食 散装 袋装 休闲食品旗舰店秒杀
   8    89.90           三只松鼠旗舰店 袋装 休闲食品 零食 散装坚果小吃碧根果500g包邮
   9    47.00           【宁国特产】詹氏特级生原味碧根果奶油长寿果仁360g零食坚果炒货
  10    17.80           【飘零大叔】奶油碧根果 坚果干果特产休闲零食品200g 三包包邮
  11    52.90           碧根果500g包邮 三只松鼠零食 散装袋装 休闲食品旗舰店 坚果秒杀
  12    39.80           杭派碧根果长寿果独立小包装奶油味500g手抓包山核桃坚果炒货秒杀
  13    43.80           三只颗支个松鼠旗舰店碧根果210gX2包炒货特产坚果3只松鼠山核桃
  14    19.80           美国奶油碧根果250g包邮干货坚果 原味长寿果 零食包邮
  15    27.80           新货坚果炒货孕妇零食美国山核桃奶油味碧根果长寿果500g罐装包邮
  16    21.50           【淘逸口】坚长寿果美国山核桃碧根果奶香16.5元包邮休闲食品
  17    20.9099元包邮 良品铺子 坚果 炒货 干果 碧根果 椒盐山核桃238g
  18    19.80           百草味碧根果190g 坚果干果奶油核桃碧更果长寿果尖果零食炒货
  19    19.90           邮费减免百草味-碧根果190g零食坚果干果奶香山核桃长寿果
  20    15.90           新货美国山核桃长寿果碧根果200g奶油味拍3袋免邮干坚果零食特产
  21    12.80           特级奶油碧根果长寿果美国手剥山核桃零食特产坚果炒货200g包邮
  22    39.90           新疆特产 奶油味碧根果500g促销 野核桃手剥山核桃长寿果坚果核桃
  23    12.90           【任意3件包邮碧根果168g】坚果零食特产干果炒货奶油味长寿果
  24    39.80           零食碧根果500g包邮奶油味干果坚果美国山核桃手剥长寿果森林小镇
  25    24.90           【三只松鼠_碧根果225g】零食坚果炒货山核桃长寿果奶油味
  26    13.80           【天猫超市】洽洽撞果仁 椰蓉碧根果仁50g 休闲零食小吃 恰恰
  27    13.80           【天猫超市】洽洽撞果仁黑糖碧根果仁50g 休闲零食小吃 恰恰
  28    13.80           【天猫超市】洽洽撞果仁柠檬碧根果仁50g休闲零食小食 恰恰
  29    16.50           新货坚果炒货 手剥碧根果/长寿果/美国山核桃 奶油味中尖250g罐装
  30    45.80           沃尔玛惠宜食品坚果炒货碧根果仁 长寿果仁美国山核桃仁210g罐装
  31    26.90           罐装碧根果重500g 奶油味零食坚果特产美国山核桃长寿果新货包邮
  32    119.00          三只松鼠旗舰店_坚果零食组合8袋共1431g 碧根果夏威夷果腰果核桃
  33    39.80           碧更果 长寿果 山核桃坚果干果零食 特产奶油味 净重500g 包邮
  34    28.80           新货奶油味碧根果500g原味长寿果美国山核桃零食坚果特产干果包邮
  35    13.80           百草味 碧根果奶油味100g 坚果零食 干果炒货特产 正品
  36    18.00           2罐包邮 坚果零食碧根果 奶油味250克休闲零食办公室干货干果
  37    21.80           退伍老兵在新疆大圆碧根果奶油味薄皮手剥散装小零食两份包邮250g
  38    39.90           16年新货碧根果奶香味长寿果仁美国山核桃500g
  39    19.00           【百草味】坚果干果零食 美国山核桃 奶香长寿果碧根果 190g
  40    170.00          碧根果长寿果美国山核桃坚果炒货奶油味果 10斤整箱散装 5斤包邮
  41    25.50           【金傻子】正宗傻子特产坚果炒货碧根果长寿果奶油味薄壳238g袋装
  42    46.90           【三只松鼠_碧根果225gx2袋】零食坚果核桃长寿果干果奶油味
  43    27.40           萌爸先生新货大尖圆碧根果180g 零食坚果核桃美国长寿果奶油味
  44    75.90           【三只松鼠_碧根果225gx3袋】零食坚果特产核桃长寿果干果奶油味
  45    39.90           良品铺子零食坚果组合装 碧根果/夏威夷/巴旦木大礼包360g
  46    37.90           【三只松鼠旗舰店_碧根果210gx2袋】零食坚果特产山核桃奶油味
  47    59.90           混合坚果组合装596g碧根果夏威夷果巴旦木零食大礼包干果批发散装
  48    68.00           良品铺子碧根果仁奶油味干果坚果零食小吃办公室休闲食品盒装150g
  49    29.80           坚果干果奶油味碧根果罐装250gx2罐装总重500g休闲零食特产包邮
  50    39.90           17年包邮新货陆哥北美山核桃手剥开口碧根果长寿果中歪奶香味500g
  51    180.00          碧根果长寿果美国山核桃坚果炒货奶油味果10斤批整箱发 5斤包邮
  52    16.90           【野山源_碧根果230g/罐】坚果长寿果干果零食奶油味特产山核桃
  53    27.9069包邮三只松鼠碧根果长寿果225g坚果零食特产精选山核桃奶油味
  54    39.00           零食坚果 奶油味特级美国大碧根果/长寿果/山核桃500g包邮
  55    15.80           超好吃的碧根果 美国长核桃 五香味 奶油味 益智坚果 100g
  56    15.80           【方五哥_碧根果250g一袋】山核桃长寿果坚果干果零食
  57    61.00           包邮【三只松鼠碧根果】炒货坚果美国山核桃长寿果225gX2
  58    39.90           包邮 三只松鼠旗舰店碧根果 坚果特产山核桃长寿果奶香210gx2
  59    52.90           三只松鼠旗舰店碧根果225gx2包邮零食坚果核桃长寿果干果奶油味
  60    38.88           良品铺子 碧根果 奶香味/椒盐208g*2袋 坚果干果零食长寿果 特价
  61    42.00           特级五香碧根果野核桃 50042元两斤包邮,
  62    39.90           【晨香_中圆碧根果480g】临安特产干果长寿果山核桃休闲零食包邮
  63    26.00           新疆特产手剥碧根果奶油味五香味野山核桃大果长寿果年货坚果250g
  64    35.00           【 碧根果仁250g】奶油味长寿果仁罐装 坚果干果零食特产
  65    46.80           【西域美农_盐焗碧根果250g*2】 零食坚果特产山核桃长寿果盐焗
  66    38.90           百草味旗舰店碧根果奶油味190gx2袋零食坚果长寿果山核桃干果炒货
  67    13.80           恒康食品 奶油味碧根果120g袋装 山核桃长寿果坚果干果零食
  68    29.90           2017新货210gx2袋奶油味山核桃长寿果碧根果干货坚果零食干果袋装
  69    37.90           百草味碧根果190gx2袋 奶香味长寿果山核桃 坚果干果炒货零食特产
  70    39.80           【壳太郎_碧根果500g】零食坚果炒货干果特产长寿果山核桃奶油味
  71    242.00          美国直邮Kirkland 原味碧根果山核桃长寿果 坚果零食908g
  72    19.92           坚先生奶香味碧根果山核桃坚果炒货零食长寿果大理特产220g/袋
  73    14.90           果记奶油碧根果180g零食坚果特产长寿果山核桃罐装零食
  74    15.90           【果味实足-奶油味碧根果200g】零食坚果特产干果长寿果山核桃
  75    238.00          加拿大美国可兰Kirkland 碧根果又名长寿果山核桃仁908g 生吃年货
  76    79.90           沃隆美国碧根果仁青岛沃隆原装进口长寿果仁零食特产休闲320g包邮
  77    37.90           三只松鼠旗舰店碧根果奶油味坚果促销美国山核桃210X2袋促销特价
  78    129.90          三只松鼠旗舰店坚果组合1025g夏威夷果碧根果巴旦木核桃共五袋
  79    100.00          三只松鼠旗舰店坚果零食组合简装大礼包夏威夷果碧根果栗子仁花生
  80    130.00          三只松鼠旗舰店坚果组合零食套餐大礼包碧根果夏威夷果开心果五袋 

该示例参考大学mooc课程《python网络爬虫和信息提取》
(http://www.icourse163.org/course/BIT-1001870001)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值