Python Beautifulsoup:如何从div下载图像然后将其复制到word文档?

时间:2017-07-18 14:36:07

标签: python python-2.7 web-scraping beautifulsoup data-analysis

这是我的代码:

    for div in panel:
    titleList = div.find('div', attrs={'class': 'panel-heading'})
    imageList = div.find('div', attrs={'class', 'pro-image'})
    descList = div.find('div', attrs={'class': 'pro-desc'})
    print titleList.get_text(separator=u' ')
    print descList.get_text(separator=u' ')
    document.add_heading("%s \t \n" % titleList.get_text(separator=u'  '), level=1)
    document.add_paragraph("%s \t \n" % descList.get_text(separator=u'  '))

我想从以下网址下载图片:

imageList = div.find('div', attrs={'class', 'pro-image'})

然后我想复制下载的图像并将它们复制到word文档中。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您可以使用requests下载图片,然后以适当的扩展名保存(作为二进制数据)。

假设您的图片位于http://example/my_image.jpg

with open("my_image.jpg", "wb") as img_handle:
    img_data = requests.get("http://example/my_image.jpg")
    img_handle.write(img_data.content)

这只是一个简单的例子。正如评论中t.m.adam所述,您应该使用img_data.content代替img_data.text来获取二进制数据。

至于将该图像插入Word文档,您可以使用任何提供此类功能的库。 python-docx是第一个谷歌搜索结果,可能会有用。