Task2-爬虫-正则学习与实践(爬取天猫商品名称价格)

爬虫Day2-正则学习与实践

参加了datawhale活动,顺便记录下学习内容

思维导图

在这里插入图片描述

实践部分

爬去天猫的商品信息(名称和价格)

总体分为三步骤:

  • 获取 html 文本 get_html_text(url, data):

    def get_html_text(url, data):
        try:
            headers = {
                'cookie': '这个太长了,不复制进来了',
                'user-agent': 'Mozilla/5.0'
            }
            response = requests.get(url, timeout=30, headers=headers, params=data)
            print("status_code", response.status_code)
            response.raise_for_status()
            response.encoding = response.apparent_encoding
            return response.text
        except:
            print("爬取失败")
    
  • 解析 html 文本内容,提取出有用的信息 parse_html(text):

    def parse_html(text):
        try:
            price_list = re.findall(r'"view_price":"(.*?)"', html)
            name_list = re.findall(r'"raw_title":"(.*?)"', html)
            ans = []
            for i in range(len(price_list)):
                price = eval(price_list[i])
                ans.append([name_list[i], price])
            return ans
        except:
            print("解析失败") 
    
  • 打印结果 print_commodity(comodity_list)

    def print_commodity(comodity_list):
        msg = "{0:^3}  {1:^6}  {2:^10}"
        for index, item in enumerate(comodity_list):
            print(msg.format(index, item[0], item[1]))
    
  • 最后的调用阶段

    goods_name = "书包"  # 搜索商品类型
    start_url = "https://s.taobao.com/search"
    data = {
            'p':goods_name,
            's': 0
            }
    info_list = []
    page = 3
    
    for i in range(page):
        data['s'] = 44 * i
        html = get_html_text(start_url, data)
        info_list.extend(parse_html(html))
        
        
    print_commodity(info_list)
    

    结果

    0   【酷睿+指纹解锁】2020款全新15.6英寸i3笔记本电脑游戏本超薄手提电脑学生办公用商务轻薄便携粉色女生款    2178.0  
     1   法琪莎豆豆鞋女平底2020新款浅口休闲方扣款百搭软底单鞋休闲女鞋    139.9   
     2   蝴蝶结单鞋女2020春季新款平底鞋百搭豆豆鞋仙女风晚晚浅口奶奶鞋     29.8   
     3   单鞋女软底平底铆钉女鞋子2020春夏季新款韩版百搭豆豆鞋奶奶鞋潮     38.8   
     4   单鞋女2020新款春季平底浅口玛丽珍复古奶奶鞋一脚蹬鞋子豆豆鞋女     24.9   
     5   网红一脚蹬大头豆豆鞋女英伦风2020春季潮鞋新款百搭水钻平底单鞋     45.8   
     6   蝴蝶结单鞋女春秋百搭低跟方头奶奶鞋平底软底豆豆鞋晚晚风温柔鞋     29.8   
     7   联想 小新14 青春版 商务办公超轻薄便携游戏笔记本电脑学生女    2399.0  
     8   联想小新潮7000 独显笔记本电脑轻薄便携学生女生款超薄商务办公用手提15青春版2020官方旗舰店正品小新air14    2799.0  
     .....
    

参考

  1. datawhale
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值