I'm trying to scrape my task list from any.do. I've tried several different selector types, but either get nothing or incorrect scraped output.
I need to get the text of each task name as well as notes and subtasks if any.
Please help.
I'm trying to scrape my task list from any.do. I've tried several different selector types, but either get nothing or incorrect scraped output.
I need to get the text of each task name as well as notes and subtasks if any.
Please help.
Hi, I will not be able to help you with this without access to the HTML of the target website.
It's been a long time since I looked at HTML, but I think this is a dynamic web page. Maybe that's why I'm having trouble?
<!doctype html>
Sign in to Any.do html { background-color: #fdfdfd } html.u-anydo-dark-theme {
background-color: #000
}
</style>
<script>
! function() {
"use strict";
var e = localStorage.getItem("anydo.user-session-storage:user-settings:theme");
"2" === e ? document.documentElement.classList.add("u-anydo-dark-theme") : "1" === e ? document.documentElement.classList.add("u-anydo-light-theme") : matchMedia("(prefers-color-scheme: dark)").matches && document.documentElement.classList.add("u-anydo-dark-theme")
}()
</script>
<script>
! function() {
"use strict";
var t = localStorage.getItem("anydo-document-title-cache");
null != t && (document.title = t)
}()
</script>
<script nomodule>
! function() {
"use strict";
if (!/bot|spider/i.test(navigator.userAgent)) {
var r = /Firefox\/([\d\.]+)$/.exec(navigator.userAgent);
if (Array.isArray(r))
if (parseFloat(r[1]) > 56) return;
location.replace("https://web.any.do")
}
}()
</script>
<script>
! function() {
var t = navigator.userAgent;
(/like Mac OS X/i.test(t) || /Android/i.test(t)) && location.replace("https://any.do/open-todo")
}()
</script>
<script>
_INITIALIZE_NOW_ = Date.now(), _INITIALIZE_LOCATION_SEARCH_ = location.search,
function() {
"use strict";
var a = new URL(location.href);
if (a.searchParams && location.hash && (a.searchParams.has("google-login-result") || a.searchParams.has("fb-login-result"))) {
a.searchParams.has("no-cache") ? (a.searchParams.delete("no-cache"), history.replaceState(history.state, document.title, a.toString())) : (a.searchParams.set("no-cache", Math.random().toString(32)), location.replace(a.toString()));
var e = new URLSearchParams(location.search),
t = new URLSearchParams(location.hash.slice(1));
t.get("state") && new URLSearchParams(t.get("state")).forEach((function(a, t) {
e.append(t, a)
})), e.toString() && (_INITIALIZE_LOCATION_SEARCH_ = "?" + e.toString())
}
}()
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-118797459-1"></script>
<script>
function gtag() {
dataLayer.push(arguments)
}
window.dataLayer = window.dataLayer || [], gtag("js", new Date), GTAG_ID = "UA-118797459-1", gtag("config", GTAG_ID), gtag("config", "AW-1010176638")
</script>
<script>
! function(e, t, n, c, o, a, f) {
e.fbq || (o = e.fbq = function() {
o.callMethod ? o.callMethod.apply(o, arguments) : o.queue.push(arguments)
}, e._fbq || (e._fbq = o), o.push = o, o.loaded = !0, o.version = "2.0", o.queue = [], (a = t.createElement(n)).async = !0, a.src = "https://connect.facebook.net/en_US/fbevents.js", (f = t.getElementsByTagName(n)[0]).parentNode.insertBefore(a, f))
}(window, document, "script"), fbq("init", "337016613456750"), fbq("track", "PageView")
</script>
<script id="profitwell-js" data-pw-auth="5d10a8a8d99c8bd4ce58ed17dd85a505">
! function(t, e, n, i, l, o, r) {
t[n] = t[n] || function() {
(t[n].q = t[n].q || []).push(arguments)
}, o = e.createElement(i), r = e.getElementsByTagName(i)[0], o.async = 1, o.src = "https://public.profitwell.com/js/profitwell.js?auth=" + e.getElementById(n + "-js").getAttribute("data-pw-auth"), r.parentNode.insertBefore(o, r)
}(window, document, "profitwell", "script")
</script>
<script>
var INTERCOM_APP_ID = "yqcgcpu0";
! function() {
var t = window,
e = t.Intercom;
if ("function" == typeof e) e("reattach_activator"), e("update", t.intercomSettings);
else {
var n = document,
a = function() {
a.c(arguments)
};
a.q = [], a.c = function(t) {
a.q.push(t)
}, t.Intercom = a;
var c = function() {
var t = n.createElement("script");
t.type = "text/javascript", t.async = !0, t.src = "https://widget.intercom.io/widget/" + INTERCOM_APP_ID;
var e = n.getElementsByTagName("script")[0];
e.parentNode.insertBefore(t, e)
};
"complete" === document.readyState ? c() : t.attachEvent ? t.attachEvent("onload", c) : t.addEventListener("load", c, !1)
}
}()
</script>
<script src="https://cdn.lr-in-prod.com/LogRocket.min.js" crossorigin="anonymous"></script>
<script>
window.LogRocket && window.LogRocket.init("oi0kwk/anydo")
</script>
<script defer="defer" src="/static/js/runtime~main.cb40eeb9.js"></script>
<script defer="defer" src="/static/js/9737.ca49c311.js"></script>
<script defer="defer" src="/static/js/5498.c99901d4.js"></script>
<script defer="defer" src="/static/js/main.ac48b298.js"></script>
<link href="/static/css/5498.4f456535.css" rel="stylesheet">
<link href="/static/css/main.5fe70c98.css" rel="stylesheet">