
طريق شائك وصعب لشخص واجه 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.
يبقى إضافة رمز التحقق التلقائي والتحميل التلقائي للمقتطفات التي يقرأها الإنسان. لكن هذا هو أبسط شيء هنا ، أليس كذلك؟
رمز البرنامج هنا .