源码:

  1. #CrowTaobaoPrice.py
  2. import requests
  3. import re
  4. def getHTMLText(url):
  5. try:
  6. r = requests.get(url, timeout=30)
  7. r.raise_for_status()
  8. r.encoding = r.apparent_encoding
  9. return r.text
  10. except:
  11. return ""
  12. def parsePage(ilt, html):
  13. try:
  14. plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
  15. tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
  16. for i in range(len(plt)):
  17. price = eval(plt[i].split(':')[1])
  18. title = eval(tlt[i].split(':')[1])
  19. ilt.append([price , title])
  20. except:
  21. print("")
  22. def printGoodsList(ilt):
  23. tplt = "{:4}\t{:8}\t{:16}"
  24. print(tplt.format("序号", "价格", "商品名称"))
  25. count = 0
  26. for g in ilt:
  27. count = count + 1
  28. print(tplt.format(count, g[0], g[1]))
  29. def main():
  30. goods = '书包'
  31. depth = 3
  32. start_url = 'https://s.taobao.com/search?q=' + goods
  33. infoList = []
  34. for i in range(depth):
  35. try:
  36. url = start_url + '&s=' + str(44*i)
  37. html = getHTMLText(url)
  38. parsePage(infoList, html)
  39. except:
  40. continue
  41. printGoodsList(infoList)
  42. main()