【发布时间】:2017-12-23 22:56:00
【问题描述】:
我想从 bet365.com 获取数据,但问题是当我下载 page-source 时,page-source 不包含该数据。正如我搜索的那样,在单页应用程序中,所有内容都不会立即加载。我尝试了以下代码,但无法获得所需的数据。谁能帮忙?
public string GetGeneratedHTML(string url)
{
URL = url;
Thread t = new Thread(new ThreadStart(WebBrowserThread));
t.SetApartmentState(ApartmentState.STA);
t.Start();
t.Join();
return GeneratedSource;
}
private void WebBrowserThread()
{
WebBrowser wb = new WebBrowser();
wb.Navigate(URL);
wb.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(
wb_DocumentCompleted);
while (wb.ReadyState != WebBrowserReadyState.Complete)
Application.DoEvents();
//Added this line, because the final HTML takes a while to show up
GeneratedSource = wb.Document.Body.InnerHtml;
wb.Dispose();
}`enter code here`
private void wb_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser wb = (WebBrowser)sender;
GeneratedSource = wb.Document.Body.InnerHtml;
}
【问题讨论】:
-
好像 bet365 不喜欢刮板
-
另外,在页面源代码中找不到我在网站上看到的代码
标签: c# web-scraping