吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2896|回复: 14
收起左侧

[求助] python爬取京东搜索页面搜索优惠信息求助

[复制链接]
hello_52pojie 发表于 2020-6-11 11:22
各位大佬,小白刚学习python爬虫,尝试爬取京东优惠信息,无奈不会解决问题,也百度不到相关信息,请大佬们请教;

通过xpath爬取优惠信息时,有些是内容,有些无内容,导致无法存储到excel表,或者,存储数值不对应,出现IndexError: list index out of range
Snap1-4.jpg
有无什么办法能使爬取到的内容对齐,比如对爬取到的li如果是空,赋一个值给它;或者,把同个<li标签下的< i class="goods-icons4 J-picon-tips"内容全合在一起,请问大佬们,能可以吗?感谢
Snap1-1.jpg
Snap1-2.jpg
Snap1-3.jpg


有无什么办法能使爬取到的内容对齐,比如对爬取到的li如果是空,赋一个值给它;或者,把同个<li标签下的< i class="goods-icons4 J-picon-tips"内容全合在一起,请问大佬们,能可以吗?感谢
Snap1-5.jpg




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([number, title, urls, price,  coupon])
wb.save('京东清单.xlsx')

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

堕落ぁ狼 发表于 2020-6-11 11:49
你可以把提取数据的逻辑整理一下

商品跟商品优惠券不要分开提取

首先提取到商品块

然后循环商品集合提取商品下对应的优惠、链接之类的信息

把商品理解为一个对象   而不是把属性提取成单个list集合

这样就会好一点
wtfok123 发表于 2020-6-11 11:51
xiao智可以不帅 发表于 2020-6-11 12:03
jxycer 发表于 2020-6-11 13:20
加油,等出成品
 楼主| hello_52pojie 发表于 2020-6-11 14:38
堕落ぁ狼 发表于 2020-6-11 11:49
你可以把提取数据的逻辑整理一下

商品跟商品优惠券不要分开提取

Snap1-6.jpg
大佬,请问你是说先找到各个商品链接,然后再通过访问商品页爬取优惠卷吗,这样就复杂了,我尝试加入了“”join()后还是有问题
Snap1-8.jpg

-----------------------------------------------------------------------------------
Snap1-7.jpg
 楼主| hello_52pojie 发表于 2020-6-11 14:40
xiao智可以不帅 发表于 2020-6-11 12:03
你看看是不是有些没有优惠券

是的,部分没有显示优惠卷,空白,所以造成爬取的内容不对齐,无法保存到excel表中
 楼主| hello_52pojie 发表于 2020-6-11 14:41
jxycer 发表于 2020-6-11 13:20
加油,等出成品

难,我都被这个问题难住了几个月,百度找相关爬取,都没有爬取优惠卷信息的。
xiao智可以不帅 发表于 2020-6-11 15:03
hello_52pojie 发表于 2020-6-11 14:40
是的,部分没有显示优惠卷,空白,所以造成爬取的内容不对齐,无法保存到excel表中

没有的就标记为无
 楼主| hello_52pojie 发表于 2020-6-11 15:30

大佬,能提供下代码吗,小白0基础自学,对代码还是不会独立敲
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-5 12:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表