使用Scrapy获取具有相同类名的多个元素的列表

时间:2019-12-11 20:15:03

标签: python scrapy

有一个我要抓取的网站,其中包含多个具有相同类名的div。

例如,假设此类名称为article-container 网站上有12个div持有该类名称。我试图像这样检索它们:

articles = response.css('[class^="article-container]')

然后使用类似的方式分别调用它们:

print(article[2])

但是那没有用。解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

首先获取div,按名称命名,这将呈现列表类型的数据结构

articles = response.css('div.name')

然后您可以使用

遍历此列表
for article in articles:
    article.css('.article-container::text').extract

这也意味着您应该能够使用列表上的索引,并且如果需要,还可以使用

获取和提取类的文本。
  

.extract()函数。如果您不想提取,请将其排除