在Coinmarketcap上的Scrapy中为response.xpath或response.css找到正确的选择器时出现问题

在Coinmarketcap上的Scrapy中为response.xpath或response.css找到正确的选择器时出现问题,xpath,scrapy,css-selectors,Xpath,Scrapy,Css Selectors,我想在coinmarketcap上的前20个交易所上循环浏览,以浏览表格 现在我花了几个小时寻找选择器,例如价格选择器 我试着在粘壳里。。。还有更多,但都不起作用: 来自加载项XPath帮助程序: 来自Chrome Inspector: response.xpath('/td[@class='cmc-table__cell.cmc-table__cell--sortable.cmc-table__cell--right.cmc-table__cell--sort-by__price']').ge

我想在coinmarketcap上的前20个交易所上循环浏览,以浏览表格

现在我花了几个小时寻找选择器,例如价格选择器

我试着在粘壳里。。。还有更多,但都不起作用:

来自加载项XPath帮助程序:

来自Chrome Inspector:

response.xpath('/td[@class='cmc-table__cell.cmc-table__cell--sortable.cmc-table__cell--right.cmc-table__cell--sort-by__price']').getall()
从Chrome Inspector复制XPath: :


我正在使用Chrome Inspector,从今天起,我使用了一个名为“Xpath helper”的插件来显示选择器,但我仍然不太明白我在那里做什么:(。我真的很想知道如何访问这些数据,并让我更好地理解如何查找这些选择器。

Xpath基本上是//标记名来自HTML的[@attribute='value']

对于您的站点,您可以使用
//table[@id='exchange-markets']//tr/td[2]/a来循环名称

并使用
//表[@id='exchange-markets']//tr/td[5]

我们基本上是说在第5列的表行中查找。

非常简单(我使用
position()
跳过表头):


非常感谢。它正在工作。不知道为什么,但我的Chrome开发检查员没有显示我的id。奇怪!Startet Edge就在那里。。。
response.xpath('/td[@class='cmc-table__cell.cmc-table__cell--sortable.cmc-table__cell--right.cmc-table__cell--sort-by__price']').getall()
response.xpath('//*[@id="__next"]/div/div[2]/div[1]/div[2]/div[2]/div/div[2]/div[3]/div/table/tbody/tr[1]/td[5]').extract()
for row in response.xpath('//table[@id="exchange-markets"]//tr[position() > 1]'):
    price = row.xpath('.//span[@class="price"]/text()').get()
#    price = row.xpath('.//span[@class="price"]/@data-usd').get() #if you need to be more precise