Technology sharing

Batch contenta ex certis locis PDF ad Excel extraho, et automatice secunda nomine v1.3 fundata in prima linea textus in tabulario PDF - cum notionibus et exsequendis codice

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

In contento renovato huius articuli, picturae et PDFs perlustrandae possunt etiam batch extractionem ex certa area contenti sustinere. Hoc maxime obtinetur accipiendo emissarii area determinati et deinde utens OCR ad cognoscendum textum in area, ut accuratio non possit. satis sit, sed si digitalis, magna quaestio non est; optimum est ergo extrahere versionem mere electronicam instrumenti PDF ad optimos effectus.


Necessitas 1: Si habes magnum numerum documentorum PDF electronicarum eiusdem formae, necesse est mihi numeros vel textum extrahere in locis specificis.

Necessitas 2: praepostere documentorum PDF habeo, sed nomina tabulariorum omnia interpolata sunt. Mihi necesse est has fasciculos renominare in titulo textu primae lineae primae paginae tabulae PDF.

Nota: missionibus non aptis: Si loca arearum quae ex pluribus documentis pdf eximendis sunt diversae sunt, exempli gratia: numerus quem volo extrahi in coordinatis (30, 30) in primo fasciculo PDF; et eventus mutationes in secundo tabulario. Si ordinatio fiat (35, 35), tunc programmatio textum contentum optime extrahere non poterit, ergo ambitus applicationis huius codicis est quod multa documenta PDF habent. eadem forma, ac PDF positiones in quibus textus informationes extrahendae necessariae sunt, basically eadem sunt.

Idea 1: Nos passim tabulam PDF tamquam exemplum eligimus, et tunc codice utimur ad notandas areas cum capsulis extrahendas, ac deinde coordinatas harum arearum servabimus ut eliciunt textus vel numeri correspondentes ad locum

Schematica idearum schemate:

Extremum exitum schematis:

Vitia huius ideae et puncta quae attentionem indigent;

1 Locus notitiae e singulis fasciculi processit extrahendis idem esse debet. Verbi gratia, numerus extrahendus est ex fasciculo primo PDF in coordinatis [100, 100], tum numerus erit. ex singulis fasciculis subsequentibus extrahendis collocari debet in coordinatis [100, 100].

2. Si textus excerptus est incompletus, significat delectum capsulam esse paulo minorem.


Necessitas 2 Idea: Nomina fasciculi PDF documentorum sunt omnia interpolata. Mihi necesse est has tabulas renominare in batches ex titulo primae paginae tabellae PDF. Re vera valde simplex est Fasciculus PDF ac deinde primam tabulam tabularum PDF obtine. tum tabella renominandi. Hoc signum non est implicatum, ergo in hac pagina non continetur.

Codicis:

  1. from typing import Optional, Dict, List
  2. from solapi.magic_eden.site_api.utils.consts import MEAPIUrls
  3. from solapi.magic_eden.site_api.utils.data import collection_stats_cleaner, collection_info_cleaner,
  4. collection_list_stats_cleaner
  5. from solapi.magic_eden.site_api.utils.types import MECollectionStats, MECollectionInfo, MECollectionMetrics
  6. from solapi.utils.api import BaseApi
  7. class MagicEdenCollectionApi(BaseApi):
  8. def get_collection_stats_dirty(self, symbol: str) -> Optional[Dict]:
  9. url = f'{MEAPIUrls.COLLECTION_STATS}{symbol}'
  10. res = self._get_request(url)
  11. return res.get('results') if isinstance(res, dict) else None
  12. def get_collection_info_dirty(self, symbol: str) -> Optional[Dict]:
  13. url = f'{MEAPIUrls.COLLECTION_INFO}{symbol}'
  14. res = self._get_request(url)
  15. return res if bool(res) else None
  16. def get_collection_stats(self, symbol: str) -> Optional[MECollectionStats]:
  17. data = self.get_collection_stats_dirty(symbol)
  18. if data:
  19. return collection_stats_cleaner(data)
  20. def get_collection_info(self, symbol: str) -> Optional[MECollectionInfo]:
  21. data = self.get_collection_info_dirty(symbol)
  22. if data:
  23. return collection_info_cleaner(data)
  24. def get_collection_list_stats_dirty(self):
  25. url = MEAPIUrls.COLLECTION_LIST_STATS
  26. res = self._get_request(url)
  27. return res.get('results') if isinstance(res, dict) else None
  28. def get_collection_list_stats(self) -> Optional[List[MECollectionMetrics]]:
  29. data = self.get_collection_list_stats_dirty()
  30. if data:
  31. return list(map(lambda x: collection_list_stats_cleaner(x), data))
  32. def get_collection_list_dirty(self):
  33. url = MEAPIUrls.COLLECTION_LIST
  34. res = self._get_request(url)
  35. return res.get('collections') if isinstance(res, dict) else None
  36. def get_collection_list(self) -> Optional[List[MECollectionInfo]]:
  37. data = self.get_collection_list_dirty()
  38. if data:
  39. return list(map(lambda x: collection_info_cleaner(x), data))

Code download link:

Link: https://pan.baidu.com/s/1WQQ8kaDilaagjoK5IrYZzA

Extraction codice: 1111