爬取网站文章将图片保存到本地并将HTML的src属性更改到本地

每次当你爬取一篇文章时,不管是从csdn或者其他网站,基本内容都是保存在一个富文本编辑器中,将内容提取出来还是一个html,保存之后图片还在别人的图片服务器上。我今天要说的就是将图片保存之后并将它的src属性替换成本地的地址。并且以次替换,按照原文章排版顺序替换。

话不多说,直接上代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/11/5 15:06
# @Author  : jia.zhao
# @Desc    : 
# @File    : img_test.py
# @Software: PyCharm

import urllib.request
import re


def getHtml(url):
    # 通过urllib去请求
    page = urllib.request.urlopen(url)
    # 读取页面内容
    html = page.read()
    return html


def getImg(html):

    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = re.compile(reg)
    # Python3需要加的
    html = html.decode('utf-8')
    # 找到所有匹配项
    imglist = re.findall(imgre, html)

    x = 0
    # 循环
    for i in range(len(imglist)):
        # 保存图片
        # urllib.request.urlretrieve(imgurl, 'img/%s.jpg' % x)
        # 根据每个图片的src的内容进行替换
        html = re.sub(imglist[i], "G:/pachong/img/%s.jpg" % str(i), html)
        x += 1
    print(html)


html = getHtml("http://tieba.baidu.com/p/2460150866")

print(getImg(html))

这个demo知识贴吧的一个帖子里的图片,大家可以依据自己的需求去更改此代码。基本都有注释,不懂的直接留言。看到这,点个赞呗!

原文发布于微信公众号 - Python爬虫scrapy(python_scrapy)

原文发表时间:2018-11-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券