All Projects → cxapython → Discogs_aio_spider

cxapython / Discogs_aio_spider

基于httpx的一个大型项目 ,爬取黑胶唱片网站 Discogs

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Discogs aio spider

Whalesong
Whalesong is an asyncio python library to manage WebApps remotely. Currently WhatsappWeb is implemented
Stars: ✭ 46 (-37.84%)
Mutual labels:  asyncio
Vibe Core
Repository for the next generation of vibe.d's core package.
Stars: ✭ 56 (-24.32%)
Mutual labels:  asyncio
Skillbox Async Chat
Пример клиент-серверного чата на Python для Skillbox
Stars: ✭ 64 (-13.51%)
Mutual labels:  asyncio
Webfsd
A simple HTTP server for mostly static content written in C
Stars: ✭ 50 (-32.43%)
Mutual labels:  asyncio
Pytile
📡 A simple Python API for Tile® Bluetooth trackers
Stars: ✭ 56 (-24.32%)
Mutual labels:  asyncio
Aiopg
aiopg is a library for accessing a PostgreSQL database from the asyncio
Stars: ✭ 1,097 (+1382.43%)
Mutual labels:  asyncio
Async
An awesome asynchronous event-driven reactor for Ruby.
Stars: ✭ 1,000 (+1251.35%)
Mutual labels:  asyncio
Pymarketcap
Python3 API wrapper and web scraper for https://coinmarketcap.com
Stars: ✭ 73 (-1.35%)
Mutual labels:  asyncio
Beanie
Micro ODM for MongoDB
Stars: ✭ 56 (-24.32%)
Mutual labels:  asyncio
Peony Twitter
An asynchronous Twitter API client for Python 3.5+
Stars: ✭ 62 (-16.22%)
Mutual labels:  asyncio
Aiodine
🧪 Async-first Python dependency injection library
Stars: ✭ 51 (-31.08%)
Mutual labels:  asyncio
Aiomultiprocess
Take a modern Python codebase to the next level of performance.
Stars: ✭ 1,070 (+1345.95%)
Mutual labels:  asyncio
Throttler
🔀⏳ Easy throttling with asyncio support
Stars: ✭ 60 (-18.92%)
Mutual labels:  asyncio
Halive
A fast http and https prober, to check which URLs are alive
Stars: ✭ 47 (-36.49%)
Mutual labels:  asyncio
Web develop
《Python Web开发实战》书中源码
Stars: ✭ 1,146 (+1448.65%)
Mutual labels:  asyncio
Uvloop
Ultra fast asyncio event loop.
Stars: ✭ 8,246 (+11043.24%)
Mutual labels:  asyncio
Web Applications With Fastapi Course
Demo code and other handouts for students of our FastAPI Web Apps course.
Stars: ✭ 56 (-24.32%)
Mutual labels:  asyncio
Pfun
Functional, composable, asynchronous, type-safe Python.
Stars: ✭ 75 (+1.35%)
Mutual labels:  asyncio
Pyfailsafe
Simple failure handling. Failsafe implementation in Python
Stars: ✭ 70 (-5.41%)
Mutual labels:  asyncio
Hproxy
hproxy - Asynchronous IP proxy pool, aims to make getting proxy as convenient as possible.(异步爬虫代理池)
Stars: ✭ 62 (-16.22%)
Mutual labels:  asyncio

Crawl a foreign vinyl record information website(Discogs), use Asyncio+Httpx+Motor+Aio-Pika+Aioredis in Python3.8

Project flow chart

Project flow chart

How to run?

install poetry

python3 -m pip install poetry

init environment

poetry init

install dependencies

poetry install 

Run

poetry run python main.py

Attention: Step1 must generate task queue first, otherwise step2 will go wrong.

Similarly, step3 must wait for step2 to generate a task queue. The call between files can be optimized according to actual business conditions.(Where step1, step2, step3 are aliases of functions)

About Code

Using some of the new features of python, you can learn some new usages, such as: typing, fstring, pydantic, dataclass How to develop asynchronous programming, the scheduling relationship between codes,the use of decorators, etc.

Introduction to the use of storage tools

  • redis: remove duplication
  • rabbitmq: Conducive to its message confirmation mechanism
  • mongo: data persistence

Bug?

  • In step1, an error will be reported when using step2 and step3, so multiple processes are used, and the optimization will be continued later to find solutions.
  • pydantic can't completely replace dataclass, there will be errors in some places, whether follow-up investigation can be solved.
  • There are some typing that has not been added and will be completed later.

Of course, the level is limited, and there are many areas that need to be optimized. Welcome to discuss with me.

Contact Me

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].