如何定期从网站获取数据(Android)

时间:2015-04-08 04:32:10

标签: android web-scraping android-webview intentservice

我一直在做一个宠物项目,现在已经开始工作了。它涉及使用Webview连接到网站(https,如果重要),注入Javascript以插入登录pin和密码,然后通过HttpUrlConnection获取页面的HTML,然后我自己解析。此项目的目标是每隔几个小时自动获取HTML以查看是否有任何更改,如果有,则向用户发送通知。但是,我遇到了一个问题,其中IntentServices无法使用Webview的onLoad方法,这种方法会阻止我的项目。我还在某些地方读过Webview必须在UI线程中运行,而其他人认为它只需要在任何单个线程上运行。当我尝试运行IntentService时,出现此错误:

java.lang.RuntimeException:无法使用Intent {cmp = app.mywork.sockettest / .GetDataFromZangle}启动服务app.mywork.sockettest.GetDataFromZangle@27de958e:java.lang.NullPointerException:尝试调用虚方法&# 39; android.os.Message android.app.IntentService $ ServiceHandler.obtainMessage()'在空对象引用上

我尝试过将HttpsUrlConnection用于整个事情,但是当我想要获得正确的cookie时,这似乎遇到了一些问题。所以,我想知道是否有任何方法仍然可以使用Webview或类似的东西,并且仍然每隔几个小时检查一次网站。

1 个答案:

答案 0 :(得分:0)

找不到答案,所以我只是自己管理cookie并使用了几十个HttpUrlConnections。