this post was submitted on 22 Jul 2024
42 points (100.0% liked)
Asklemmy
43287 readers
759 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- [email protected]: a community for finding communities
~Icon~ ~by~ ~@Double_[email protected]~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's not very slow to scrape a website. Works quite well. Your app would appear like any other browser to the site. The trouble with that is that it breaks easily when they change something on their site. Doesn't even have to be a malicious change.
That's good to know, I'll look into that some more. I was thinking that it might be slow if I'm having to scrape each page, every time a user changes categories (or something similar).
I completely forgot about that :(
You should look into how the webpage is built. If it's a static HTML webpage pre-rendered on the server, then you would have to scrape the HTML to extract the info.
However, many more "modern" webpages use client-side JavaScript to separately request the actual data from the web server through a REST/HTTP API. This kind of API is not possible to fully restrict, unless they want to require all users to log in for viewing the webpage.
And yeah, if it's built like that, then you'd want to make use of that REST API. You do not need to use JavaScript to call it. Using any HTTP client library in any programming language, or even just
curl
, should work just as much.To see, if it's built like that, open the "Network" tab in the Developer Tools of your browser and refresh the webpage.
If it just loads a bunch of HTML, CSS and image files, then it's the static webpage kind. If it sends/receives messages with JSON in the body to URLs without a file-type, then it's likely the REST-API-kind.
I’ve got a feeling it’s a static site but I’ll confirm to make sure.