我想从此链接中删除演讲者的姓名: 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的第一个问题,因此,如果我在询问时犯了任何错误,请纠正我的错误。
答案 0 :(得分:0)
如果您检查源HTML(使用Ctrl+U
),则会发现HTML内没有发言人信息。此内容是使用Javascript动态加载的。
您需要调用https://api.cilabs.com/conferences/ws19/lists/speakers?per_page=25
并解析JSON。