淘宝获取商品信息

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("error")

def printGoodsList(ilt):

    tplt = "{:5}\t{:12}\t{:18}"

    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()

你可能感兴趣的:(淘宝获取商品信息)