Comments (4)
Ah interesting. Yeah definitely would consider it. I kind of just used JSDOM because I figured that would be best for consistency on server/browser without having to do anything in the browser case. It seems like Cheerio is much faster and less memory leaky? I don't know a ton about either really.
For the Cheerio solution, we could even potentially bundle jQuery on the browser side and pass a real jQuery object? Or just bundle Cheerio there as well and parse the innerHtml
?
Open to ideas for what the best solution would look like! Ideally it keeps it nicely parallel in both places, and easy to implement/manage for us at the metascraper
level. I'm not super worried about browser-side file size, since it would mostly be for things like Chrome extensions or other cases I'd think.
from metascraper.
Replaced in 0.1.1
! Way faster too, nice call
from metascraper.
Also, I opted to just keep it to a single code path (no more browser/server
) since my only valid browser use case so far is for chrome extensions, where the Cheerio filesize isn't the worst. But we could always get smarter later with jQuery or something (dunno if that's even smaller).
from metascraper.
One code path is awesome 😄 If anything, I'd make a separate endpoint that wraps around window
and other interfaces later.
from metascraper.
Related Issues (20)
- Is there a package for grabbing just the domain? HOT 1
- Wrong Typescript declared types HOT 5
- Not scrapping the correct date HOT 1
- JSDOM dependency is not compatible with node v14 HOT 7
- Missing 'logo' in Metadata interface when using metascraper-logo plugin HOT 1
- Instagram Scraping Give me null at some field HOT 1
- Crash on `metascraper-audio` HOT 4
- Incorrect metadata types HOT 4
- Specific pages lead to crash of nodejs HOT 1
- Specific pages crash NodeJS with the usage of metascraper-audio or metascraper-video HOT 3
- New version causes breaks in Definitely Typed packages HOT 9
- Cannot use in Defer because of re2 HOT 1
- Add types for metascraper packages
- metascraper-date typing errors HOT 2
- [metascraper-clearbit] Typescript build error from `keyvOpts` HOT 1
- Any issues with a memory leak, particularly metascraperDescription() HOT 1
- High memory usage HOT 9
- `author` is not recognized for YouTube HOT 1
- Make JSDOM opt-in HOT 4
- [metascraper-image] ability to pick desired image HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from metascraper.