Glyphack / pytse-client

work with Tehran stock exchange data 💹 in Python
GNU General Public License v3.0
275 stars 76 forks source link

مشکل در گرفتن عنوان نماد‌های اختیار #222

Closed navid-nb closed 1 year ago

navid-nb commented 1 year ago

برای دریافت اطلاعات نماد ضهرم7000 از سایت tsetmc این تیکه کد زه شده: import pytse_client as tse ticker = tse.Ticker("", "816070469779688") print(ticker.title) و این ارور داده میشه: ~\anaconda3\lib\site-packages\pytse_client\ticker\ticker.py in title(self) 184 """ 185 return replace_arabic( --> 186 re.findall(r"Title='(.*?)',", self._ticker_page_response.text)[ 187 0 188 ].split("-")[0]

IndexError: list index out of range

لینک مربوط به این نماد در سایت tse: http://www.tsetmc.com/instInfo/816070469779688

برای چند نماد اختیار دیگه هم تست کردم و همین مشکل وجود داره. درحالی که برای خود سهم‌ها این مشکل وجود نداره.

navid-nb commented 1 year ago

@sfmqrb

sfmqrb commented 1 year ago

@Glyphack

Do u have time to check this out?

Glyphack commented 1 year ago

آره نگاه کردم. سایت قدیم که توی کد ازش استفاده میکنیم اطلاعات نماد‌های اختیار رو نداره ولی نمادهای عادی توی سایت قدیم هستن. مثلا برای نمادهای عادی ازین آدرس استفاده میکنیم: http://old.tsetmc.com/Loader.aspx?ParTree=151311&i=52932092555708556

در حالی که اخیار معامله رو جایگذاری کنی توی این آدرس نمیاد.

بنظرم بهتره کلا در راستای حل این آدرسی که برای صفحه اصلی نماد استفاده میکنیم رو آپدیت کنیم: https://github.com/Glyphack/pytse-client/blob/943a292944c29f9cd481897b168412a4d2734211/pytse_client/tse_settings.py#L18

البته فقط همین یه آدرس و بقیه رو لازم نیست دست بزنیم. این رو که عوض کنیم باید کدهایی که صفحه رو میخوندن رو آپدیت کنیم به صفحه جدید. مثلا این کد: https://github.com/Glyphack/pytse-client/blob/943a292944c29f9cd481897b168412a4d2734211/pytse_client/ticker/ticker.py#L171-L172

Glyphack commented 1 year ago

من میخوام در آینده یه روزی بذارم چندتا ایشو رو کلوز کنم اینم میتونم بذارم توی اون برنامه.

sfmqrb commented 1 year ago

@Glyphack فکر می‌کنی تا کی می‌رسی؟ @navid-nb از دوستامه و یه کم عجله داره

Glyphack commented 1 year ago

@sfmqrb

سعی میکنم فردا چکش کنم فقط فکر کنم همه‌ی فیچر هارو نمیشه سریعا اضافه کرد اگه صفحه‌ها خیلی عوض شده باشه. کدوم دیتا هارو میخوای فعلا؟

sfmqrb commented 1 year ago

@navid-nb

navid-nb commented 1 year ago

من برای اختیارها این دوتا رو میخواستم: ticker.history ticker.title که history همین الانشم کار میکنه و به درستی کندل‌ها رو میده.

@Glyphack

navid-nb commented 1 year ago

@Glyphack @sfmqrb

Glyphack commented 1 year ago

@navid-nb install this version and check if it works:

pip install git+https://github.com/Glyphack/pytse-client.git@add-instrument-info-api-and-update-title
navid-nb commented 1 year ago

ارور قبلی رو نمیده و خروجی میده title رو. ولی ناقص هست. مثلا برای تمام اختیار‌های اهرم خروجی اینه: 'اختیارخ اهرم' در حالی که توی عنوان هر نماد اختیار، قیمت اعمال و تاریخ هم وجود داره که کلشو باید برگردونه مثلا یه همچین چیزی: 'اختيارخ اهرم-13000-1402/07/23' @Glyphack

Glyphack commented 1 year ago

تابع full_title رو استفاده کن

navid-nb commented 1 year ago

مرسی