Python爬取网页的图片数据总结

无情 阅读:173 2021-06-03 14:30:16 评论:0

本案例是基于PyCharm开发的,也可以使用idea。

在项目内新建一个python文件TestCrawlers.py
TestCrawlers.py

# 导入urllib下的request模块 
import urllib.request 
# 导入正则匹配包 
import re 
 
# -*- encoding:utf-8 -*- 
""" 
@作者:小思 
@文件名:TestCrawlers.py 
@时间:2018/11/6  15:48 
@文档说明:测试爬虫(以爬取http://www.xiaohuar.com/2014.html上的图片为例) 
""" 
 
# 步骤 
# 1.确定要爬取数据的网址 
# 2.获取该网址的源码 
# 3.使用正则表达式去匹配网址的源码(匹配所需要的数据类型) 
# 4.将爬取的数据保存至本地或者数据库 
 
# 确定要爬取数据的网址 
url = "http://www.xiaohuar.com/2014.html" 
# 该网址的源码(以该网页的原编码方式进行编码,特殊字符编译不能编码就设置ignore) 
webSourceCode = urllib.request.urlopen(url).read().decode("gb2312", 'ignore') 
# 匹配图片的正则表达式 
imgRe = re.compile(r'src="(.+?\.jpg)"') 
imageUrl = imgRe.findall(webSourceCode) 
# 将图片下载到本地(需要网络) 
# 本地路径 
localPath = "F:\myImages" 
count = 0 
for i in imageUrl: 
    if ("http:") not in i: 
        i = "http://www.xiaohuar.com" + i 
        urllib.request.urlretrieve(i, f"{localPath}\\{count}.jpg") 
        print(i, "该图片下载成功!") 
        count += 1 
 
print("图片已经全部下载完成,请前往", localPath, "查看!") 
 

控制台输出:
在这里插入图片描述
文件夹myImages的图片:
在这里插入图片描述
图片爬取成功!

注意事项:
该爬取方式可以根据自己的需求更换,你需要爬取哪个网站就查看它的源代码,爬取的时候要分析源代码的规律,然后匹配正则,保存下载到你自己的电脑里,就不用每一个都手动下载保存了,有分页的网页可以把那些网址放在一个元祖中,然后遍历读取元祖里面的源代码再匹配正则,获取到要下载的数据。

说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~


标签:Python
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

关注我们