首页 > 编程 > Python > 正文

python定向爬取淘宝商品价格

2019-11-25 15:08:25
字体:
来源:转载
供稿:网友

python爬虫学习之定向爬取淘宝商品价格,供大家参考,具体内容如下

import requestsimport redef getHTMLText(url):  try:    r = requests.get(url, timeout=30)    r.raise_for_status() #如果发送了一个失败请求(非200响应),#我们可以通过 Response.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) #正则表达式来匹配 "view_price":"/d/."类型的字符串    tlt = re.findall(r'/"raw_title/"/:/".*?/"',html)#正则表达式来匹配 "raw_title":".*?"类型的字符串,.*?是任意字符的最小匹配    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 = 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)    except:      continue  PrintGoodsList(infoList)main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表