本案例是基于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的图片:
图片爬取成功!
注意事项:
该爬取方式可以根据自己的需求更换,你需要爬取哪个网站就查看它的源代码,爬取的时候要分析源代码的规律,然后匹配正则,保存下载到你自己的电脑里,就不用每一个都手动下载保存了,有分页的网页可以把那些网址放在一个元祖中,然后遍历读取元祖里面的源代码再匹配正则,获取到要下载的数据。
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~