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
我正在使用 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