如何使用python将USRN语句转换为可读形式



遇到FSIS USRN Rosreestr的人的棘手且艰难的道路。他正在等待无休止的等待浏览器加载,按键,验证码以及5分钟的请求间隔。他为什么受那么大的苦难?当他决定使用此系统并订购提取物时,他已经贡献了他来之不易的钱。但是,不能-从USRN中提取提取物就像脱洋葱一样。等待着患者的最后一步-下载的,令人垂涎的摘录由zip存档表示,在其中,还有另一个存档和一个sig文件。语句文件本身已经在其中。但是也不容易读取-它在xml中。并且为了使所有内容一起增长,有必要将此XML和sig一起下载到Rosreestr的特殊页面。在那里,仍然有一个验证码在等待。每个语句都这样!今天,我们将使用python克服最后的痛苦。



任务:



  • 解压缩该文件夹中的所有zip,
  • 按规格下载。链接到Rosreestr,
  • 最终下载!,该语句的人类可读视图。


因此,最初在文件夹中下载了解压缩的zip压缩文件:







导入python模块后:



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)


我们获得了它们的zip存档和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语句文件,并将其插入网站上的必填字段中。该程序将对附在xml上的sig文件执行相同的操作:







接下来,该程序将等待输入验证码:







用户输入验证码后,它将发送到该站点,然后单击下载链接以获取USRN的“正常”摘录:







将打开一个窗口,其中包含提取,可以将其保存为html或在Chrome中按CTRL + P(在pdf中)。



仍然需要添加自动解决方案验证码和自动下载人类可读的摘录。但这是这里最简单的事情,不是吗?



程序代码在这里



All Articles