python爬取京东搜索页面搜索优惠信息求助
各位大佬,小白刚学习python爬虫,尝试爬取京东优惠信息,无奈不会解决问题,也百度不到相关信息,请大佬们请教;通过xpath爬取优惠信息时,有些是内容,有些无内容,导致无法存储到excel表,或者,存储数值不对应,出现IndexError: list index out of range
有无什么办法能使爬取到的内容对齐,比如对爬取到的li如果是空,赋一个值给它;或者,把同个<li标签下的< i class="goods-icons4 J-picon-tips"内容全合在一起,请问大佬们,能可以吗?感谢
有无什么办法能使爬取到的内容对齐,比如对爬取到的li如果是空,赋一个值给它;或者,把同个<li标签下的< i class="goods-icons4 J-picon-tips"内容全合在一起,请问大佬们,能可以吗?感谢
wb = openpyxl.Workbook()
sheet = wb.active
sheet.titile = '京东'
sheet['A1'] = '编号'
sheet['B1'] = '标题'
sheet['C1'] = '链接'
sheet['D1'] = '价格'
sheet['E1'] = '自营'
sheet['F1'] = '用优惠'
url2 = 'https://search.jd.com/Search?coupon_batch=321809222&coupon_id=65810338915'
response = requests.get(url=url2,data=data,headers=headers)
time.sleep(1)
resp = response.text
# print(resp)
lists = etree.HTML(resp)
infos = lists.xpath("//ul[@class='gl-warp clearfix']")
for info in infos:
number = info.xpath(".//li/@data-sku")
title = info.xpath(".//li//div[@class='p-img']/a/@title")
urls = info.xpath(".//li//div[@class='p-img']/a/@href")
price = info.xpath(".//strong/i/text()")
self_support = info.xpath(".//li//div[@class='p-icons']/i[@class='goods-icons J-picon-tips J-picon-fix']/text()")
coupon = info.xpath(".//li//div[@class='p-icons']//i[@data-tips='本商品可领用优惠券' or @data-tips='本商品参与满减促销' or @data-tips='本商品参与满件促销']/text()")
print(self_support, coupon)
for i in range(len(number)):
sheet.append(, title, urls, price,coupon])
wb.save('京东清单.xlsx')
你可以把提取数据的逻辑整理一下
商品跟商品优惠券不要分开提取
首先提取到商品块
然后循环商品集合提取商品下对应的优惠、链接之类的信息
把商品理解为一个对象 而不是把属性提取成单个list集合
这样就会好一点 我很赞同! 你看看是不是有些没有优惠券 加油,等出成品 堕落ぁ狼 发表于 2020-6-11 11:49
你可以把提取数据的逻辑整理一下
商品跟商品优惠券不要分开提取
大佬,请问你是说先找到各个商品链接,然后再通过访问商品页爬取优惠卷吗,这样就复杂了,我尝试加入了“”join()后还是有问题
-----------------------------------------------------------------------------------
xiao智可以不帅 发表于 2020-6-11 12:03
你看看是不是有些没有优惠券
是的,部分没有显示优惠卷,空白,所以造成爬取的内容不对齐,无法保存到excel表中 jxycer 发表于 2020-6-11 13:20
加油,等出成品
难,我都被这个问题难住了几个月,百度找相关爬取,都没有爬取优惠卷信息的。 hello_52pojie 发表于 2020-6-11 14:40
是的,部分没有显示优惠卷,空白,所以造成爬取的内容不对齐,无法保存到excel表中
没有的就标记为无 xiao智可以不帅 发表于 2020-6-11 15:03
没有的就标记为无
大佬,能提供下代码吗,小白0基础自学,对代码还是不会独立敲{:17_1074:}
页:
[1]
2