كيفية تحويل جملة USRN إلى صيغة مقروءة باستخدام بيثون



طريق شائك وصعب لشخص واجه FSIS USRN Rosreestr. إنه ينتظر انتظارًا لا نهاية له لتحميل المتصفح والمفاتيح والكابتشا والفواصل الزمنية بين الطلبات لمدة 5 دقائق. لماذا يعاني كثيرا؟ كان قد ساهم بالفعل بأمواله الخاصة عندما قرر العمل مع هذا النظام وطلب مقتطفاته. لكن لا - الحصول على خلاصة من USRN يشبه تعريتها من البصل. الخطوة الأخيرة التي تنتظر المريض - يتم تمثيل المستخلص المطلوب الذي تم تنزيله بأرشيف مضغوط ، فيه ، um ، أرشيف آخر وملف sig. وملف البيان نفسه موجود بالفعل بالداخل. لكن ليس من السهل قراءتها أيضًا - فهي بتنسيق xml. ولكي ينمو كل شيء معًا ، من الضروري ، كما اتضح ، تنزيل ملف xml هذا مع sig إلى صفحة خاصة من Rosreestr. وهناك ، لا يزال هناك رمز التحقق. وهكذا مع كل بيان! سنتغلب على هذا الألم الأخير اليوم باستخدام الثعبان.



مهمة:



  • فك ضغط كل الملفات المضغوطة في المجلد ،
  • تنزيل من خلال المواصفات. رابط إلى Rosreestr ،
  • أخيرًا تنزيل! ، عرض مقروء من الإنسان للبيان.


لذلك ، في البداية ، توجد في المجلد أرشيفات مضغوطة تم تنزيلها من المقتطفات







:



import os
import zipfile
import webbrowser,time
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains


دعنا نفك ضغط جميع أرشيفات zip ونحذفها حتى لا يتم الخلط بينها وبين المحتويات:



zipFiles = []
sigFiles = []
for filename in os.listdir('.'):
    if filename.endswith('.zip'):        
        zipfile.ZipFile(filename, 'r').extractall()
        os.remove(filename)


لدينا أرشيفات مضغوطة وملفات sig لها ، والتي سيتم تحميلها بعد ذلك إلى موقع Rosreestr الإلكتروني:







انتقل إلى دورة البرنامج الرئيسية لجميع الملفات في الدليل (في حالتي ، "C: / 2"):



for filename in zipFiles:    
    act = browser.find_element_by_id('sig_file')
    act.send_keys('C:\\2\\'+str(filename)+'.sig')
    act = browser.find_element_by_id('xml_file')
    # zip 
    zip_ref = zipfile.ZipFile(filename, 'r').extractall()
    # xml  
    for f in os.listdir('.'):
        if f.endswith('.xml'):
            print(f)
    # xml   
            act.send_keys('C:\\2\\'+str(f))    
    act = browser.find_element_by_css_selector('input.brdg1111')
    act.click()
    i = str(input(" : "))
    for b in i:
        act.send_keys(b)
        time.sleep (0.1)
    #act.submit()
    act = browser.find_element_by_css_selector('.terminal-button-bright')
    act.click()
    time.sleep (5)
    
    try:
        act = browser.find_element_by_link_text('   ')
        act.click()


بعد التحميل الناجح لصفحة بوابة Rosreestr rosreestr.gov.ru/wps/portal/cc_vizualisation ، سيجد البرنامج أرشيف zip في الدليل ، ويحصل على ملف بيان xml من هناك ويدرجه في الحقل المطلوب على موقع الويب. سيقوم البرنامج بنفس الشيء مع ملف sig المرفق بـ xml:







بعد ذلك ، سينتظر البرنامج حتى يتم إدخال captcha:







بعد أن يقوم المستخدم بإدخال captcha ، سيرسله إلى الموقع وينقر على رابط التنزيل للاستخراج "العادي" من USRN:







سيتم فتح نافذة يتم فيها الانتهاء استخراج ، والذي يمكن حفظه بتنسيق html أو بالضغط على CTRL + P في Chrome - بتنسيق pdf.



يبقى إضافة رمز التحقق التلقائي والتحميل التلقائي للمقتطفات التي يقرأها الإنسان. لكن هذا هو أبسط شيء هنا ، أليس كذلك؟



رمز البرنامج هنا .



All Articles