scrapy xpath 为什么这个页面是空的虽然我可以在 chrome f12 工具中看到它?

scrapy xpath why this page is empty thouh i can see it in chrome f12 tool?

我正在使用 Scrapy 进行网页抓取this page

当我调用这个 xpath 时:

.//div[@class='readmore-concealed-container']

虽然我可以在 chrome 开发人员工具中看到它,但我得到的结果是空的。请问这是为什么?

问题在于站点的动态特性。 Scrapy 获取的 HTML 与您在浏览器开发者工具中看到的不一样,因为浏览器正在执行 javascript 更改 DOM 的代码。你不能在 Scrapy 中复制相同的行为,Scrapy 不是浏览器。

假设您想要获取主 phone 号码,您可以从页面上的不同位置提取它。来自 scrapy shell 的演示:

$ scrapy shell https://www.propertyfinder.ae/en/rent/apartment-for-rent-abu-dhabi-al-reem-island-3093563.html
In [1]: response.xpath('//li[@class="phone"]/a/@data-phone').extract()[0]
Out[1]: u'+971 X XXX 21XX'  # added X for privacy reasons