前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬取网站文章将图片保存到本地并将HTML的src属性更改到本地

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

作者头像
andrew_a
发布2019-07-30 14:24:22
1.9K0
发布2019-07-30 14:24:22
举报
文章被收录于专栏:Python爬虫与数据分析

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

话不多说,直接上代码

代码语言:javascript
复制
#!/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知识贴吧的一个帖子里的图片,大家可以依据自己的需求去更改此代码。基本都有注释,不懂的直接留言。看到这,点个赞呗!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫scrapy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档