قیمت-والدین 0. 3. 4

ساخت وبلاگ

Price-Parser یک کتابخانه کوچک برای استخراج قیمت و ارز از رشته های متن خام است.

  • مبلغ قیمت قوی و استخراج نماد ارز
  • دست زدن به صفر از هزار و جداکننده اعشاری

مورد استفاده اصلی تجزیه قیمت های استخراج شده از صفحات وب است. به عنوان مثال ، می توانید یک انتخاب کننده CSS/XPath را بنویسید که یک عنصر را با قیمت هدف قرار می دهد ، و سپس به جای نوشتن کد Regex یا Python خاص سایت ، از این کتابخانه برای تمیز کردن آن استفاده می کند.

مجوز BSD 3-Clause است.

نصب و راه اندازی

PIP VARSER PARSER

Price-Parser به Python 3. 6+ نیاز دارد.

استفاده

استفاده اساسی

>>> from price_parser import Price>>> price = Price.fromstring("22,90 €")>>> price Price(amount=Decimal('22.90'), currency='€')>>> price.amount # numeric price amount Decimal('22.90')>>> price.currency # currency symbol, as appears in the string '€'>>> price.amount_text # price amount, as appears in the string '22,90'>>>price. amount_float # مبلغ قیمت به عنوان شناور ، نه اعشاری 22. 9

اگر ترجیح می دهید ، قیمت. از Alias Price_Parser. Parse_price ، آنها همین کار را انجام می دهند:

>>> from price_parser import parse_price>>>parse_price ("22،90 €") قیمت (مقدار = اعشاری ('22 . 90 ') ، ارز =' € ')

این کتابخانه دارای آزمایشات گسترده ای است (900 نمونه در دنیای واقعی از رشته های قیمت). برخی از موارد پشتیبانی شده در زیر شرح داده شده است.

موارد پشتیبانی شده

رشته های قیمت نجس با ارزهای مختلف پشتیبانی می شود. هزار جداکننده و جداکننده اعشاری انجام می شود:

>>>Price. FromString ("قیمت: 119. 00 دلار") قیمت (مبلغ = اعشاری ('119. 00') ، ارز = '$')
>>>Price. FromString ("15 130 р") قیمت (مبلغ = اعشاری ('15130') ، ارز = 'р')
>>>Price. FromString ("151،200 Thoumana") قیمت (مبلغ = اعشاری ('151200') ، ارز = 'tureman')
>>>Price. FromString ("RP 1. 550. 000") قیمت (مقدار = اعشاری ('1550000') ، ارز = 'RP')
>>>Price. FromString ("Běžná Cena 75 990،00 kč") قیمت (مقدار = اعشاری ('75990. 00') ، ارز = 'kč')

از علامت یورو به عنوان جداکننده اعشاری در یک وحشی استفاده می شود:

>>>Price. FromString ("1،235 € 99") قیمت (مقدار = اعشاری ('1235. 99') ، ارز = '€')
>>>Price. FromString ("99 € 95 €") قیمت (مبلغ = اعشاری ('99 ') ، ارز =' € ')
>>>Price. FromString ("35 € 999") قیمت (مبلغ = اعشاری ('35 ') ، ارز =' € ')

برخی از موارد خاص انجام می شود:

>>>قیمت. از قیمت ("رایگان") قیمت (مبلغ = اعشاری ('0') ، ارز = هیچ)

هنگامی که قیمت یا ارز قابل استخراج نیست ، مقادیر ویژگی های مربوطه روی هیچ یک تنظیم می شوند:

>>>Price. FromString ("") قیمت (مبلغ = هیچ ، ارز = هیچ)
>>>Price. FromString ("foo") قیمت (مقدار = هیچ ، ارز = هیچ)
>>>Price. FromString ("50 ٪ تخفیف") قیمت (مبلغ = هیچ ، ارز = هیچ)
>>>قیمت. از قیمت ("50") قیمت (مبلغ = اعشاری ('50 ') ، ارز = هیچ)
>>>Price. FromString ("R $") قیمت (مبلغ = هیچ ، ارز = "R $")

نکات ارزی

آرگومان CHORRENCY_HINT اجازه می دهد تا یک رشته متنی را منتقل کنید که ممکن است (یا ممکن است) حاوی اطلاعات ارزی باشد. این ویژگی برای استخراج قیمت خودکار مفید است.

>>>قیمت.

توجه داشته باشید که ارز ذکر شده در رشته اصلی قیمت ممکن است نسبت به ارز مشخص شده در استدلال CURRENCY_HINT ترجیح داده شود. این بستگی به نمادهای ارزی دارد که در آنجا یافت می شود. اگر ارز صحیح را می دانید ، می توانید آن را مستقیماً تنظیم کنید:

>>> price = Price.fromstring("1 000")>>> price.currency = 'EUR'>>>قیمت قیمت (مبلغ = اعشاری ('1000') ، ارز = 'یورو')

جدا کننده اعشاری

اگر می دانید از کدام نماد به عنوان جداکننده اعشاری در رشته ورودی استفاده می شود ، آن نماد را در آرگومان اعشاری_تاتور منتقل کنید تا از حدس و گمان قیمت نماد جداکننده اعشاری اشتباه جلوگیری کند.

>>>Price. FromString ("قیمت: 140. 600 دلار" ، Decimal_Separator = ".") قیمت (مقدار = اعشاری ('140. 600') ، ارز = '$')
>>>Price. FromString ("قیمت: 140. 600 دلار" ، Decimal_Separator = "،") قیمت (مقدار = اعشاری ('140600') ، ارز = '$')

مشارکت کننده

  • کد منبع: https://github. com/scrapinghub/price-parser
  • ردیاب شماره: https://github. com/scrapinghub/price-parser/issues

برای اجرای تست ها با نسخه های مختلف پایتون از Tox استفاده کنید:

دستور بالا همچنین چک های نوع را اجرا می کند. ما از mypy استفاده می کنیم.

تغییر دادن

0. 3. 4 (2020-11-25)

  • تجزیه و تحلیل بهبود قیمت ها بدون رقم قبل از یک نقطه اعشاری (75 0. 75) ، https://github. com/scrapinghub/price-parser/pull/42
  • تجزیه قیمت را با فضاهای غیر شکنی https://github. com/scrapinghub/price-parser/pull/43 رفع کنید

0. 3. 3 (2020-02-05)

  • مسئله نصب ثابت در برخی از دستگاه های ویندوز.

0. 3. 2 (2020-01-28)

  • بهبود ارزهای کره ای و ژاپنی.
  • پشتیبانی پایتون 3. 8 را اعلام کنید.

0. 3. 1 (2019-10-21)

  • علائم اضافی $ دیگر به عنوان بخشی از ارز بازگردانده نمی شوند ، به عنوان مثالبرای SGD 100 دلار ارز SGD خواهد بود ، نه SGD $.

0. 3. 0 (2019-10-19)

  • قیمت جدید. استدلال از استدلال DECIMAL_SEPARATOR اجازه می دهد تا جداکننده اعشاری را برای مواردی که شناخته شده است غلبه کنید (یعنی تشخیص جداکننده اعشاری را غیرفعال کنید).
  • نام ارزی غیر رسمی NTD و RBM اضافه می شود.
  • کمیته ها در عبارات منظم غیر سبز ساخته می شوند ، که سرعت کمی را فراهم می کند.
  • پیشرفت آزمون.

0. 2. 4 (2019-07-03)

  • اعلام قیمت را به عنوان ارائه حاشیه نویسی نوع (PEP-561) اعلام کنید. این امکان را برای بررسی بهتر پروژه ها با استفاده از Price-Parser فراهم می کند.
  • پوشش تست بهبود یافته

0. 2. 3 (2019-06-18)

  • پیگیری برای انتشار 0. 2. 2: تجزیه و تحلیل قیمت ها با 4+ رقم پس از جداکننده اعشاری.

0. 2. 2 (2019-06-18)

  • تجزیه و تحلیل قیمت ها با 4+ رقم پس از جداکننده اعشاری.

0. 2. 1 (2019-04-19)

  • 23 نماد ارز اضافی اضافه می شود.
  • نام مستعار دلار برای دلار استرالیا اضافه می شود.

0. 2 (2019-04-12)

پشتیبانی اضافه شده از ارزهای جایگزین یورو.

حساب اسلامي...
ما را در سایت حساب اسلامي دنبال می کنید

برچسب : نویسنده : کامران فیوضات بازدید : 25 تاريخ : دوشنبه 23 مرداد 1402 ساعت: 13:22