每次当你爬取一篇文章时,不管是从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 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!