在爬艺搜网的展览信息时,遇到展览信息的详情页里的“展览介绍”有点击“展开阅读”按钮,在用以下代码爬取时始终爬不到点击了“展开阅读”之后的数据。
网页前端页面:
网页源码:
原来爬取的代码:
item1['description'] = response.xpath('//div[@class="exText"]/text()').extract_first()
问题所在:可以看到,不管是否点击了“展开阅读”,页面源码中都有所有的信息,因此可以判断不是动态加载的问题。(之前一直以为是动态加载的问题,然后看了好几天哭唧唧)
原来的代码用的是extract_first(),把它改为extract()之后就可以爬出所有数据了。
修改后的代码:
item1['description'] = response.xpath('//div[@class="exText"]/text()').extract()
extract()与extract_first()区别
extract()返回的所有数据,存在一个list里。
extract_first()返回的是一个string,是extract()结果中第一个值。