我正在尝试从这个website中提取一些数据。对于数据抓取,我使用Scrapy框架。我检查了网页,发现要提取的数据具有以下XPath://*[@id="weather-widget"]/div[2]/div[1]/div[1]/div[1]/h2当我抓取网页并开始查看其内容时,我发现该页面不包含具有上面XPath的元素。是否可以等待页面加载并提取所需的值?
//*[@id="weather-widget"]/div[2]/div[1]/div[1]/div[1]/h2
8iwquhpp1#
你找不到你要找的数据,因为它是从另一个请求加载的。你可以使用类似selenium或puppeteer的东西来加载整个页面,或者你可以尝试打开直接发送请求到API来获取数据。对于您提供的站点,生成数据的请求类似于https://openweathermap.org/data/2.5/weather?id=625665&appid=439d4b804bc8187953eb36d2a8c26a02您可以通过打开DevTools > Network tab并刷新页面查看请求来确认
https://openweathermap.org/data/2.5/weather?id=625665&appid=439d4b804bc8187953eb36d2a8c26a02
DevTools > Network tab
1条答案
按热度按时间8iwquhpp1#
你找不到你要找的数据,因为它是从另一个请求加载的。你可以使用类似selenium或puppeteer的东西来加载整个页面,或者你可以尝试打开直接发送请求到API来获取数据。
对于您提供的站点,生成数据的请求类似于
https://openweathermap.org/data/2.5/weather?id=625665&appid=439d4b804bc8187953eb36d2a8c26a02
您可以通过打开
DevTools > Network tab
并刷新页面查看请求来确认