有些网站(例如 Facebook)只加载一定数量的页面,直到您向下滚动到接近尾部时,它们才会加载更多数据。有没有一种方法可以使用 HTTPWebRequest 检索所有(或更多)数据,而无需滚动到底部通常会显示?
如果我这样做:
HttpWebRequest r = (HttpWebRequest)WebRequest.Create("www.facebook.com");
HttpWebResponse resp = (HttpWebResponse)r.GetResponse();
响应将仅显示您访问该网站并且根本没有向下滚动时会出现的有限数据。
希望这是有道理的,我可能可以用更好的措辞。
如何从请求中获取更多数据?
最佳答案
WebRequest 在这里帮不了你。此类网站取决于用户交互(如滚动)来决定获取更多数据。
您可以使用 WebBrowser
控件并实际与网站交互。这是唯一的方法,除非有一个 API 可以显式获取数据。
假设您想使用 HttpWebRequest。此类将向 Web 服务器发送请求并获得响应。
您需要问的问题是,“向 Web 服务器发送什么请求以使页面使用无限滚动”?答案是,“没有没有发送强制无限滚动的请求”。事实上,您已经滚动到底部,才会出现下一页。
关于c# - 带有 "infinite scrolling"页面的 httpwebrequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20112172/