爬虫实战--爬取juubao购物券网站

xiaoxiao2021-02-27  205

# coding:utf-8 import re import urllib.request def juubao(n, pprice): """ 实现从juubao网站爬取前n页,折扣大于pprice的商品链接 :param n:网站的前n页 :param pprice:最低优惠券价格 :return:产品的标题,链接,领券地址等 """ for i in range(1, n): url = 'http://www.juubao.com/index-index-p-{}.html'.format(i) page = urllib.request.urlopen(url).read().decode('utf-8') # 商品的url goods_url = re.findall(r'http://www.juubao.com/item-\d{1,8}.html', page) goods_url = list(set(goods_url)) # 商品的标题title goods_titles = re.findall(r'<img alt=.{1,100}" src', page) goods_title = [title[10:-5] for title in goods_titles] # 商品的折扣价 discounts = re.findall(r'get_cupon[\s\S]{5,10}\d{1,4}', page) discount = [float(re.findall(r'\d{1,4}', count)[0]) for count in discounts] # 商品的现价 price_currents = re.findall(r'price-current[\s\S]{10,15}\d{1,5}\.\d{1,2}', page) price_current = [float(re.findall(r'\d{1,5}\.\d{1,2}', price)[0]) for price in price_currents] # 领取商品券的淘宝地址 quan_urls = re.findall(r'/jump-index-id-\d{3,9}\.html', page) root_url = r'http://www.juubao.com' quan_url = [root_url + quan_urls[i] for i in range(0, len(quan_urls), 2)] # 折扣价大于xx的商品显示 for i in range(len(discount)): if discount[i] >= pprice: print("商品的标题:%s,商品url:%s,领券地址:%s 折扣价:%.2f,现价:%.2f" % (goods_title[i], goods_url[i], quan_url[i], discount[i], price_current[i])) if __name__ == '__main__': juubao(10, 50)
转载请注明原文地址: https://www.6miu.com/read-11485.html

最新回复(0)