如何从两个不同的部门报废项目?

2024-09-29 19:27:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新的刮屑和网页爬行和我一直在工作的网页www.mercadolibribe.com.mx我必须(从起始页)得到一些关于展示在那里的产品的数据(描述和价格)。这是我的项目.py公司名称:

from scrapy.item import Item, Field

class PruebaMercadolibreItem(Item):
    producto = Field()
    precio = Field()

这是我的蜘蛛:

^{pr2}$

问题是,当我改变这一行时,得到的结果是一样的:

    titles = hxs.select("//div[@class='item-data']")

为此:

    titles = hxs.select("//div[@class='item-data'] | //div[@class='item-data item-data-mp']")

我得到的数据和我使用第一行时不一样。在

有人能帮我吗?我的xPath选择有错误吗?在

我也找不到一个很好的教程使用MySQL与scrapy,我将感谢任何帮助。泰铢


Tags: 数据divcom网页fielddatawwwitem
1条回答
网友
1楼 · 发布于 2024-09-29 19:27:48

如果要获取包含item-data类的所有div标记,最好使用contains

titles = hxs.select("//div[contains(@class, 'item-data')]")

此外,蜘蛛还有其他问题:

  • 循环,您将重写titles
  • productoxpath中的类名应该是title,而不是{}
  • 您可能不想在Field值中包含列表,请从^{}ed列表中获取第一项
  • HtmlXPathSelector已弃用,请改用^{}
  • select()已弃用,请改用^{}
  • BaseSpider已重命名为^{}

以下是修改后的代码:

^{2}$

输出中的示例项:

{'precio': u'$ 35,000', 'producto': u'Cuatrimoto, Utv De 500cc 4x4 ,moto , Motos, Atv ,'}
{'precio': u'$ 695', 'producto': u'Reloj Esp\xeda Camara Oculta Video Hd 16 Gb! Sony Compara.'}

相关问题 更多 >

    热门问题