import re
import requests
from operator import itemgetter
url='https://s.taobao.com/search?q=%E7%B1%B36&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170813'
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])
ilt=sorted(ilt,key=itemgetter(0))
print(ilt)
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='小米6'
depth=1
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:
pass
printGoodsList(infoList)
main()
我明明对ilt列表进行了排序
第一次输出ilt价格是从小到大
为什么格式化输出之后又不排序了
帮我解决下吧 我真的好痛苦