Python Заменить локальные ссылки скаченной страницы на оригиналы веб

Всем привет. Суть задачи: Сайт скачивается на компьютер при помощи модуля pywebcopy

Собственно он предназначен для того что бы выкачивать страницы вместе с разметкой.

Нужно это для особого колдовства, и колдовство у меня получилось (я буквы крашу в хтмле).

Но есть проблема. После того как сайт упал на компьютер все ссылки в нем заменились на локальные. И теперь вопрос - как заставить сайт обращаться за данными к серверу?

Я уже что только не перепробовал. А нихрена не получается.

Помогите пожалуйста! )

Код для ознакомления (вдруг вам захочется посмотреть)


class WebRework(object):

    def __init__(self,url):
        global words, FORMAT
        global trash_symbs, allowedshorts, restricted, trashset, common
        global LYN, local_libraries_pool,OPERATIONS
        ENCODIN= "utf-8, deflate"
        ACCEPT = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        DNT = "1"
        CON = "close"
        INSEC ="1"
        LANG =  "ru-RU,ru;q=0.5"
        USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0"
        link=url
        headers = {"user-agent" : USER_AGENT, "Accept-Language": LANG,  "Accept-Encoding": ENCODIN, "DNT": DNT, "Connection": CON, "Accept":ACCEPT, "Upgrade-Insecure-Requests":INSEC}
        cookies = browser_cookie3.chrome(domain_name=link.split("/")[2])
        r2 = requests.get(link,headers=headers, verify=True, cookies=cookies, timeout=3)

        new_replacer_bs = BeautifulSoup(r2.text,'html.parser')
        new_group = new_replacer_bs.find_all("a")

        r = requests.get(url) #url - ссылка
        html1 = r.text

        
        urltest = url
        download_folder = '/test1/'  
        testurl=url.split("/")[2]

        all_links_source=soup3.find_all('a')
        all_links=[]
        for link in all_links_source:
            if 'href' in str(link):
                all_links+=[str(testurl)+"?@#S"+link['href']]
            else:
                all_links+=['placeholder']
        kwargs = {'bypass_robots': True, 'project_name': 'testing', 'open_in_browser':False}

        save_webpage(urltest, download_folder, **kwargs)
        arr=glob.glob(r"C:\test1\**\**\**\*.html")
        print(arr)
        x = [page for page in arr if 'index' in page]
        html1=""
        with open(x[0], "r", encoding="utf-8") as f:
           
            html1=f.read()

        html1=html1.encode('utf-8')
   
        with open('122223.html', "w", encoding="utf-8") as f:
           f.write(html1.decode('utf-8'))
        #f.close()
        #print("1"+1)
        soup2 = BeautifulSoup(r2.text, 'lxml')
        words_soup_finder = soup2.find_all('p')
        paragraphs=[]
        paragraphs_edited=[]

        words_soup=""
        for x in words_soup_finder:
            words_soup+=" "+x.get_text()
            paragraphs+=[x]
            paragraphs_edited+=[x]
        words_soup=words_soup.replace('\n'," ")
        words_soup=words_soup.replace(u"_"," ")
        words_soup=words_soup.replace(u"\xa0"," ")
        words_soup=words_soup.replace(u"\\xa0"," ") 
        words_soup=words_soup.replace(u"\\xa"," ")
        words_soup=words_soup.replace(u"\u2009"," ")
        for trash in trash_symbs:
            words_soup=words_soup.replace(trash,"")
        words_soupx=set(words_soup.split(" "))
        for x in words_soupx:
            words_soup+=" "+x

        string=html1.decode('utf-8')
        string = html.unescape(string)
        rep_orig = BeautifulSoup(string,'html.parser')
        rep_orig_all = rep_orig.find_all("a")


        tempword=""
        tempword1=""
        indexer=0
        indeyer=len(words_soupx)
        
        p_array=[]
        test=0
        format_dict=dict()
        for words in words_soupx:
            if len(words)<2:
                continue
            tempword=""
            for letter in words:
            
                try:
                    tempword+=FORMAT[str(letter)].get()
                except KeyError:
                    tempword+=letter
            
            format_dict[words]=tempword

        
            print(format_dict[words])
            print(words)            
            
            indexer+=1
            print(f"{indexer}/{indeyer}")
        


        with open('122223.html', "w", encoding="utf-8") as f:
           f.write(string)


Ответы (0 шт):