【发布时间】:2018-07-24 14:57:49
【问题描述】:
所以我会去一个 Instagram 帐户,比如 https://www.instagram.com/foodie/ 来复制它的 xpath,它给了我帖子的数量、关注者的数量和关注的数量。
然后我会在一个scrapy shell上运行这个命令:
response.xpath('//*[@id="react-root"]/section/main/article/header/section/ul')
抓取该列表中的元素,但scrapy 不断返回一个空列表。关于我在这里做错了什么有什么想法吗?提前致谢!
【问题讨论】:
-
使用view(response)命令,然后检查站点是动态的还是元素不同。
-
查看页面源代码,看看在浏览器执行 JS 之前你得到了什么。正如@la_vie_est_belle 所说,来自scrapy shell 的
view(response)。 -
是的。 Scrapy 返回 True。命令 response.xpath('//*[@id="react-root"]') 返回一些东西,但是在包含 /section 之后,它应该返回它的子级时返回一个空列表。有什么想法吗?
-
你看到的页面结构可能与scrapy蜘蛛“看到”的不同,这就是为什么你需要 view(response) 命令来检查蜘蛛“看到”的内容。