码迷,mamicode.com
首页 > 其他好文 > 详细

淘宝商品信息 并且按表格排列。

时间:2018-10-13 22:47:12      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:名称   find   遍历   输入   turn   ret   return   odi   http   

import requests
import re

def getHTMLtext(url): #获取页面信息
try:
r = requests.get(url)
print(type(r))
print(r)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.encoding)
print(r.apparent_encoding)

return r.text
except:
return ""
def parsepage(ilt,html): #解析页面信息

plt = re.findall(r‘"view_price":"[\d.]*"‘,html) #提取价格的正则 \d. 0-9的数字 []集 *出现无数次 0-9 0-9 0-9.....
tlt = re.findall(r‘"raw_title":".*?"‘,html) #
print(len(plt))
print(len(tlt))
for i in range(len(plt)):

price = eval(plt[i].split(":")[1]) # split()[] ()输入分隔符
title = eval(tlt[i].split(":")[1]) # eval 可以按照格式互相转化 
#print(price)
#print([price, title])
ilt.append([price,title]) #把得来的两个元素组成新的列表 加入ilt列表 
#print(price)
#print(ilt)



def printgoodlist(ilt): #打印出商品信息
tplt ="{:4}\t{:8}\t{:16}" #\n为转行符 \t为制表符  
print(tplt.format("序号","价格","名称")) #按格式打印标题 
count = 0
for g in ilt:
count = count +1
print(tplt.format(count,g[0],g[1])) #打印完了标题 打印相关信息 g遍历ilt中每个小列表 然后打印出第一个和第二个数值

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) #解析每个页面 #将返回的html(r.text)和一个空列表传入parsepage()函数
except:
continue
printgoodlist(infolist) #打印出结果
main()

淘宝商品信息 并且按表格排列。

标签:名称   find   遍历   输入   turn   ret   return   odi   http   

原文地址:https://www.cnblogs.com/cwkcwk/p/9784223.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!