ITPub博客

首页 > 大数据 > 数据挖掘 > Python 攻克淘宝商品信息抓取难题

Python 攻克淘宝商品信息抓取难题

原创 数据挖掘 作者:Alin2477305449 时间:2024-09-04 11:05:56 0 删除 编辑


获取商品列表信息代码  api测试


1、强制等待10秒,用于刷新或滑动页面,使页面所有信息加载完成;


2、pyquery请求HTML页面信息,并进行解析;


3、商品详细信息(商品标题、价格、销量、商铺名称、地区、详情页链接、商铺链接等)


4、将获取的信息写入字典和Excel表格中;

# 获取每一页的商品信息;
def get_goods(page):
    # 声明全局变量count
    global count
 
    # 获取商品前固定等待10秒,刷新/滑动界面,使所有信息都加载完成
    time.sleep(10)
 
    html = driver.page_source
    doc = pq(html)
    # 提取所有商品的共同父元素的类选择器
    items = doc('div.PageContent--contentWrap--mep7AEm > div.LeftLay--leftWrap--xBQipVc > div.LeftLay--leftContent--AMmPNfB > div.Content--content--sgSCZ12 > div > a').items()
 
    for item in items:
        # 定位商品标题
        title = item.find('.Title--title--jCOPvpf span').text()
        # 定位价格
        price_int = item.find('.Price--priceInt--ZlsSi_M').text()
        price_float = item.find('.Price--priceFloat--h2RR0RK').text()
        if price_int and price_float:
            price = float(f"{price_int}{price_float}")
        else:
            price = 0.0
        # 定位交易量
        deal = item.find('.Price--realSales--FhTZc7U').text()
        # 定位所在地信息
        location = item.find('.Price--procity--_7Vt3mX').text()
        # 定位店名
        shop = item.find('.ShopInfo--TextAndPic--yH0AZfx a').text()
        # 定位包邮的位置
        postText = item.find('.SalesPoint--subIconWrapper--s6vanNY span').text()
        postText = "包邮" if "包邮" in postText else "/"
        # 定位商品url
        # t_url = item.find('.Card--doubleCardWrapper--L2XFE73')
        # t_url = t_url.attr('href')
        t_url = item.attr('href')
        # print(t_url)
        # 定位店名url
        shop_url = item.find('.ShopInfo--TextAndPic--yH0AZfx a')
        shop_url = shop_url.attr('href')
        # print(shop_url)
        # 定位商品图片url
        img = item.find('.MainPic--mainPicWrapper--iv9Yv90 img')
        img_url = img.attr('src')
        # print(img_url)
 
        # 构建商品信息字典
        product = {
            'Page': page,
            'Num': count-1,
            'title': title,
            'price': price,
            'deal': deal,
            'location': location,
            'shop': shop,
            'isPostFree': postText,
            'url': t_url,
            'shop_url': shop_url,
            'img_url': img_url
        }
        print(product)
 
        # 商品信息写入Excel表格中
        wb.cell(row=count, column=1, value=page)                # 页码
        wb.cell(row=count, column=2, value=count-1)             # 序号
        wb.cell(row=count, column=3, value=title)               # 标题
        wb.cell(row=count, column=4, value=price)               # 价格
        wb.cell(row=count, column=5, value=deal)                # 付款人数
        wb.cell(row=count, column=6, value=location)            # 地理位置
        wb.cell(row=count, column=7, value=shop)                # 店铺名称
        wb.cell(row=count, column=8, value=postText)            # 是否包邮
        wb.cell(row=count, column=9, value=t_url)               # 商品链接
        wb.cell(row=count, column=10, value=shop_url)           # 商铺链接
        wb.cell(row=count, column=11, value=img_url)            # 图片链接
        count += 1


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69952502/viewspace-3026795/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
专注电商平台工具开发及代购代采网站建站等,地球号18179018113

注册时间:2019-11-01

  • 博文量
    43
  • 访问量
    35687