当前位置: 移动技术网 > IT编程>脚本编程>Python > 实战项目 — 爬取 校花网图片

实战项目 — 爬取 校花网图片

2019年08月19日  | 移动技术网IT编程  | 我要评论

红糖哥命丧街头,周口平坟,珠鳍锦鱼人声望奖励

重点: 

1.  指定路径创建文件夹,判断是否存在

2. 保存图片文件

 

# 获得校花网的地址,图片的链接

import re
import requests
import time
import os

start = time.time()
num = 0                        # 为了记录爬的照片的次数

# 设置路径
path = 'd:\校花网'
# 判断目录下的文件夹是否已经创建,如果不存在
if not os.path.exists(path):
    # 则创建路径文件夹
    os.makedirs(path)
    print("完成创建文件夹!")
else:
    # 如果存在,则不需要创建
    pass
    print('路径已经存在,不需要创建!')

for url_name in range(5):
    response = requests.get(f'http://www.xiaohuar.com/list-1-{url_name}.html')
    # data就是我们要的校花f12里的东西啦,并用字符串格式保存
    data = response.text
    print("正在解析处理第{}页 ".format(url_name))
    # print(data)
    # 其中(.*?)表示我们所要获得的内容
    one_list = re.findall('" src="(.*?)" /></a>', data)
    # type str 这是为了让pycharm 更快的知道v是字符串格式方便导入内置方法
    for v in range(len(one_list)):
        # 这是为了让其中有些保护的图片变成正确的超链接格式
        if one_list[v].startswith('/d'):
            one_list[v] = f'http://www.xiaohuar.com/{one_list[v]}'

    for x in one_list:
        # 为了自动生成文件名,由于 one_list 网址有"/" 分割,最后的数据太长,所以名字也很长
        # x 是链接 随机一条如: http://www.xiaohuar.com//d/file/20190818/a73a16dfeaf75bd16d2e355642e1e16e.jpg
        name = x.split('/')[-1]
        # 再次分析链接,获得图片的信息
        dd = requests.get(x)
        # 图片信息装换成机械语言
        d_data = dd.content

        with open(f'd:\校花网\{name}','wb') as fw:
            fw.write(d_data)
            # 强行把缓冲区中的内容放到磁盘中
            fw.flush()
            num += 1
            print(f'已经爬取{num}张')
        # 防止段时间请求过多
        time.sleep(1)

print("全部完成,耗时%d s"%(start - time.time()))

  

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网