Python - 带图片的PDF文件(相对路径)

时间:2015-10-11 18:44:05

标签: python html pdf path beautifulsoup

我使用mechanize浏览网站。在此之后,我使用beautifulsoup来操作网页的内容(转换为unicode,删除一些行)。现在我想从使用Beautifulsoup获取的html源代码创建PDF文件。我使用pdfkit,它适用于文本。但是现在我想创建带有html代码中的图片的pdf。通过使用相对路径' ../../'指定URL(也用于图片);等。

如何更改所有考虑绝对路径的网址以及如何获取pdf文件中的图片?路径的变化是否足以获得图片?

解决方案:(基于dudu1791提案)

#changement liens vers images
def ChangeLinkIMG(soup,baseurl):
    #parcours des images
    for imgLK in soup.findAll('img'):    
        #chemin relatif image
        try:
            relaIMG=imgLK['src'] 
            #creation lien absolu
            absoIMG=urljoin(baseurl,relaIMG)
            imgLK['src']=absoIMG
            print absoIMG
        except:
            pass
    return soup

1 个答案:

答案 0 :(得分:2)

它可能只有答案的一半,但下面的代码可以帮助你转动网址来考虑绝对路径。这就是我做到的。

def parse_all_links(self, soup):            
        for link in soup.find_all('a'):                
            if(link.get('href')):
                href = link.get('href')
                if href.startswith('http') or href.startswith('https'):
                    print(href)                        
                elif href =='#':
                    #print('No link present')
                    pass
                elif href =='/':
                    pass
                else:
                    href = baseurl + href
                    print(href)