本例使用urllib及re正则表达式,爬取网页上(王俊凯百度百科)所有以jpg结尾的图片,并保存本地。
import re
from urllib.request import urlopen
if __name__ == '__main__':
url = r'https://baike.baidu.com/item/%E7%8E%8B%E4%BF%8A%E5%87%AF/75850?fr=aladdin'
# 读取网页内容,并指定解码方式
buff = urlopen(url).read().decode('utf-8')
# 爬取所有以src="https://开头以.jpg结尾的字符串,即图片url
# 若此正则匹配不到正确的url,说明元网页内容发生改变,F12重新查看图片链接方式,修改正则表达式即可,怎么写正则可自行百科
imgs = re.findall(r'src="https://.+\.jpg', buff)
count = 1
for img in imgs:
print(img)
with open('XiaoKai_' + str(count) + '.jpg', 'wb') as wf:
# img.split('src="')[-1]:去掉多余的src="
cont = urlopen(img.split('src="')[-1]).read()
wf.write(cont)
count += 1
结果就是这样子: