我想选择特定类别的div标签。但是我的蜘蛛在运行时什么也没返回?

时间:2019-06-07 14:51:40

标签: python xpath scrapy web-crawler bots

我想从此链接中删除演讲者的姓名: https://websummit.com/speakers

名称基本上在div标签中,类别为“ speaker__content__inner”

我在下面的代码中抓了个蜘蛛

import scrapy

class Id01Spider(scrapy.Spider):
    name = 'ID01'
    allowed_domains = ['websummit.com']
    start_urls = ['https://websummit.com/speakers']

    def parse(self, response):
        name=response.xpath('//div[@class = "speaker__content__inner"]/text()').extract()
        for Speaker_Details in zip(name):
            yield {'Speaker_Details': Speaker_Details.strip()}
        pass

当我运行这个蜘蛛时,它会运行并且不返回任何内容。 日志文件: https://pastebin.com/JEfL2GBu

P.S:这是我关于stackoverflow的第一个问题,因此,如果我在询问时犯了任何错误,请纠正我的错误。

1 个答案:

答案 0 :(得分:0)

如果您检查源HTML(使用Ctrl+U),则会发现HTML内没有发言人信息。此内容是使用Javascript动态加载的。

您需要调用https://api.cilabs.com/conferences/ws19/lists/speakers?per_page=25并解析JSON。