import requests
import re #正则表达式
from bs4 import BeautifulSoup #爬虫bs4
import os
#爬高考校花网
def xiaohua():
url="http://www.gaokao.com/gkpic/"
response=requests.get(url) #get请求网址
response.encoding="GBK" #编码为gbk,以免中文乱码
html=response.text #用变量接收响应的文本信息
file=BeautifulSoup(html,'html.parser') #定义一个bs4方法
img=file.find(name='div',attrs={'id':'imgall'}) #使用定义的方法查找出所有div标签下 的图片路径
#使用正则表达式提取所有校花图片url,注意后面形参要是str格式
imagelist=re.findall('src="(.*?)"/>',str(img))
#print(imagelist)
#定义存储图片路径,如果不存在就创建一个,os为系统命令
dir='校花'
if not os.path.exists(dir):
os.mkdir(dir)
for image in imagelist:
#定义图片名为.jpg前面的字符,截取方法
tpm=image.split('/')[-1]
#循环请求图片url
res=requests.get(image)
#with open 方法将图片写入dir目录
with open (dir+'/'+tpm,'wb') as f:
f.write(res.content)
if __name__ == '__main__':
xiaohua()
|