爬取糗事百科,糗图里面的图片
代码如下:
import urllib.request
import re
import time
import os
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36',
}
dirname = 'qiutu'
#创建文件夹
if not os.path.exists(dirname):
os.mkdir(dirname)
for page in range(1, 6):
print('正在下载----第%s页----......' % page)
# 拼接url
url = 'https://www.qiushibaike.com/pic/page/{}/'
url = url.format(page)
# 构建请求对象
request = urllib.request.Request(url=url, headers=headers)
# 发送请求,得到响应
response = urllib.request.urlopen(request)
# 得到响应的字符串内容
content = response.read().decode('utf8')
# 解析内容,通过正则表达式解析内容
pattern = re.compile(r'<div class="thumb">.*?<img src="(.*?)" alt="(.*?)" />.*?</div>', re.S)
ret = pattern.findall(content)
# print(ret)
# print(len(ret))
# 循环遍历ret,依次下载每一个图片
for tp in ret:
# 取出图片的src
image_src = 'https:' + tp[0]
# 取出图片的名字
filename = tp[1] + '.' + image_src.split('.')[-1]
print('正在下载--%s--...' % filename)
# 拼接得到图片的全路径
filepath = os.path.join(dirname, filename)
# 下载图片
urllib.request.urlretrieve(image_src, filepath)
print('结束下载--%s--...' % filename)
time.sleep(2)
print('结束下载----第%s页----...' % page)
time.sleep(2)