多啦AOA 发表于 2017-3-20 18:40

淘宝商品信息抓取

#-*-coding:utf8-*-.
# 1提交商品搜索请求,循环获取页面
# 2对每一个页面提取商品名称和价格信息
# 3将信息输出到屏幕上

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

#对每一个获取的页面进行解析
def parserPage(ilt,html):
    try:
      plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
      tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
      for i in range(len(plt)):
            #eval()函数可去掉获得的数据的最外层的引号去掉
            price = eval(plt.split(':')[1])
            title = eval(tlt.split(':')[1])
            ilt.append(,title])
    except:

      print('dd')

#输出商品信息
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]))#序号,价格,名称
    print('')

#定义爬取深度
def main():
    goods = input('请输入您要的商品名称:')
    try:
      depth = int(input('请输入您要获取的页面数:'))
    except:
      print('请输入大于0的正整数来表示页数!')


    start_url ='https://s.taobao.com/search?q={}'.format(goods)
    infoList =[]
    #对每一个页面进行单独的访问和处理
    for i in range(depth):
      try:
            #对每一个url链接进行设计
            url = start_url + '&s' + str(44+i)
            html = getHTMLText(url)
            #处理每个页面的解析过程
            parserPage(infoList,html)
      except:
            continue
    printGoodsList(infoList)

main()   

   代码的注释都写上的,还有不明白的地方请说指出


吾爱我的爱 发表于 2018-1-30 13:36

File "C:/Users/Administrator/PycharmProjects/untitled1/tb.py", line 44
    print(tplt.format(count,g))#序号,价格,名称
                                    ^
SyntaxError: invalid syntax

进程已结束,退出代码1

gunxsword 发表于 2017-3-20 18:51

又见强大的PYTHON

liu_niu 发表于 2017-3-20 18:55

我还以为是抓的商品详情页    赞一个

blueshark 发表于 2017-3-20 19:09


感谢分享

wokl168 发表于 2017-3-20 19:14

不知道如何使用,俺是小白

87412598 发表于 2017-3-20 19:35

哎,以前我也学习了一段时间Python没有坚持下去。

一剪没 发表于 2017-3-20 20:02

下载了python3.6,运行下程序看看,我是第一次接触这个,听别人说很强大的。

poiugh岁月 发表于 2017-3-20 20:26

楼主这是用什么语言写的    我是不是已经脱离时代了

龙少412 发表于 2017-3-20 20:31



感谢分享

小骆 发表于 2017-3-20 21:30

大哥,能教教我吗?
页: [1] 2 3
查看完整版本: 淘宝商品信息抓取