我如何使用Scrapy抓取多个类的div



我在这个网站上寻找答案,但我没有得到任何适合我的东西。我试着在IMDB中抓取Top Picks页面,我想获得"a"标签。这就是我试图抓取的页面的HTML的样子。我已经在我想要抓取的元素上方悬停。我用scrapy shell来测试,但我得到的只是一个大小为0的列表。我试过:

movies = response.css('a.ipc-poster-card__title').get()
movies = response.css('div[role="group"]').getall() # to get the div first so I can work my way down to the <a> tag
movies = response.css('a.ipc-poster-card__title.ipc-poster-card__title--clamp-2.ipc-poster-card__title--clickable').get()

和多个其他行。我尝试了最后一个,因为我在网上读到空格被scrapy视为层次结构,我应该使用";但是当我输入len(movies)或者我将movies作为None对象时,我得到的都是大小为0的列表。我怎样才能从那句话中得到参考呢?标签?

正如@Joaquin在评论中指出的那样,我现在将使用Selenium和Splash。

最新更新