zombodb
Scrapy
zombodb | Scrapy | |
---|---|---|
23 | 180 | |
4,608 | 50,954 | |
- | 0.7% | |
8.3 | 9.6 | |
25 days ago | 4 days ago | |
PLpgSQL | Python | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zombodb
-
Introducing pgzx: create PostgreSQL extensions using Zig
And lots of interesting extensions use it, like
https://github.com/tembo-io/pgmq
https://github.com/zombodb/zombodb
https://github.com/supabase/pg_jsonschema
-
Create a search engine with PostgreSQL: Postgres vs Elasticsearch
Point 2 is generally solvable via engineering effort and careful dedicated code. From the existing tools, PGSync is an open source project that aims to specifically solve this problem. ZomboDB is an interesting Postgres extension that tackles point 2 (and I think partially point 3), by controlling and querying Elasticsearch through Postgres. I haven't yet tried either of these two projects, so I can't comment on their trade-offs, but I wanted to mention them.
-
Creating an advanced search engine with PostgreSQL
Curious, did you try zombodb? [https://www.zombodb.com/]
-
💃🏼 Quickwit 0.6 released!🕺🏼: Elasticsearch API compatibility, Grafana plugin, and more....
What about zombodb, do you think that quickwit has all the necessary APIs?
-
Write Postgres functions in Rust
No. Haha. Was just the right name for https://github.com/zombodb/zombodb at the time. Software where the only limit is yourself!
- Integrate PostgreSQL and Elasticsearch – ZomboDB
- Postgres Full Text Search vs. the Rest
- ZomboDB: Making Postgres and Elasticsearch work together like it's 2022
-
Postgres Full-Text Search: A Search Engine in a Database
> The hardest part of building any search engine is keeping the index up-to-date with changes made to the underlying data store.
This deserves mention, as it solves that problem: https://github.com/zombodb/zombodb
From the README:
> ZomboDB brings powerful text-search and analytics features to Postgres by using Elasticsearch as an index type. Its comprehensive query language and SQL functions enable new and creative ways to query your relational data.
> From a technical perspective, ZomboDB is a 100% native Postgres extension that implements Postgres' Index Access Method API. As a native Postgres index type, ZomboDB allows you to CREATE INDEX ... USING zombodb on your existing Postgres tables. At that point, ZomboDB takes over and fully manages the remote Elasticsearch index and guarantees transactionally-correct text-search query results.
I find other things also hard in search engines: dealing with the plethora of human languages and all the requirements we may have to processing them. A mature solution like ES therefor is almost a must in the more demanding cases.
-
State of the art for serde-compatible CBOR encoding/decoding?
You can read more about it on our GitHub repo, but basically it brings most of the power of elasticsearch’s searching and analytics abilities straight into Postgres.
Scrapy
- Scrapy: A Fast and Powerful Scraping and Web Crawling Framework
-
Seven Python Projects to Elevate Your Coding Skills
BeautifulSoup4 Scrapy
-
What is SERP? Meaning, Use Cases and Approaches
While there is no specific library for SERP, there are some web scraping libraries that can do the Google Search Page Ranking. One of them which is quite famous is Scrapy - It is a fast high-level web crawling and web scraping framework, used to crawl websites and extract structured data from their pages. It offers rich developer community support and has been used by more than 50+ projects.
-
Creating an advanced search engine with PostgreSQL
If you're looking for a turn-key solution, I'd have to dig a little. I generally write a scraper in python that dumps into a database or flat file (depending on number of records I'm hunting).
Scraping is a separate subject, but once you write one you can generally reuse relevant portions for many others. If you can get adept at a scraping framework like Scrapy you can do it fairly quickly, but there aren't many tools that work out of the box for every site you'll encounter.
Once you've written the spider, it's generally able to be rerun for updates unless the site code is dramatically altered. It really comes down to how brittle the spider is coded (i.e. hunting for specific heading sizes or fonts or something) instead of grabbing the underlying JSON/XHR that doesn't usually change frequently.
1. https://scrapy.org
- Turning webpages into pdf
-
Implementing case sensitive headers in Scrapy (not through `_caseMappings`)
Scrapy capitalizes headers for request
- Dicas para projetos usando web scraping
-
Best tools to use for web scraping ??
Scrapy is a web scraping toolkit
-
What do .NET devs use for web scraping these days?
I know this might not be a good answer, as it's not .NET, but we use https://scrapy.org/ (Python).
- I'm using python to scrape web page content and extract keywords, how can I make it faster to process?
What are some alternatives?
pg_search - pg_search builds ActiveRecord named scopes that take advantage of PostgreSQL’s full text search
requests-html - Pythonic HTML Parsing for Humans™
Typesense - Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences
pyspider - A Powerful Spider(Web Crawler) System in Python.
noria - Fast web applications through dynamic, partially-stateful dataflow
colly - Elegant Scraper and Crawler Framework for Golang
squawk - 🐘 linter for PostgreSQL, focused on migrations
MechanicalSoup - A Python library for automating interaction with websites.
stolon - PostgreSQL cloud native High Availability and more.
playwright-python - Python version of the Playwright testing and automation library.
helium-etl-queries - A collection of SQL views used to enrich data produced by a Helium blockchain-etl
undetected-chromedriver - Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)