Python简单爬虫——淘宝数据

来源:互联网 发布:java撤销 编辑:程序博客网 时间:2024/06/06 03:27

爬虫对于数据分析的人来说是一个很方便又节省时间的工具,在网络爬虫抓取数据之前,要知道有些网页对网络爬虫是有限制的。在抓取数据之前可以在网站根目录下的robots.text文件中查找对爬虫网站的爬取策略。
我是用jupyter notebook来实现这个爬虫代码的,在之前要提前安装好第三方库requests.(如果是anaconda,不用再次安装,可以在conda list下面看有没有requests.)

import requestsimport redef 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 = 3    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 279.00 秀禾服新款敬酒服新娘婚纱中式龙凤褂长袖
2 489.00 婚纱礼服2017新款新娘一字肩韩式修身显瘦时尚简约奢华长拖尾孕妇
3 426.00 婚纱礼服2017新款冬季新娘孕妇高腰一字肩拖尾公主梦幻结婚齐地轻
4 185.00 婚纱礼服2017新款新娘结婚婚纱中袖蕾丝齐地婚纱韩式绑带修身婚纱
5 499.90 婚纱2017秋冬新款新娘结婚韩式梦幻公主奢华蕾丝抹胸深v拖尾礼服
6 328.00 冬季婚纱2017新款新娘结婚公主齐地简约加厚毛领长袖保暖加棉冬天
7 799.00 苏州婚纱礼服2017春夏新款花朵蕾丝修身拖尾一字肩显瘦蓬裙包邮
8 799.00 苏州婚纱礼服2016春夏新款花朵蕾丝修身拖尾性感包肩显瘦蓬裙
9 699.00 婚纱白色女宫廷防走光婚纱白色一字肩高高腰造型蕾丝婚纱礼服梦幻
10 10950.00 2016美国官方代购White by Vera Wang王薇薇新娘婚纱VW351318
11 318.00 2017秋冬新款双肩齐地韩式大码显瘦一字肩新娘长拖尾婚纱礼服简约*

代码详解请参考中国大学MOOChttp://www.icourse163.org/course/BIT-1001870001

原创粉丝点击