python爬虫(爬取图片)

python爬虫爬图片

爬虫爬校花网校花的图片

第一步

载入爬虫模块

#载入爬虫模块
import  re                  #载入爬虫模块
import  requests               #载入爬虫模块

第二步

获得校花网的地址,获得其网页F12内的所有东西

#获得校花网的地址,获得其网页F12内的所有东西
import  re                  #载入爬虫模块
import  requests               #载入爬虫模块

response = requests.get(f'http://www.xiaohuar.com/list-1-0.html')
data = response.text                #data就是我们要的校花F12里的东西啦,并用字符串格式保存

第三步

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

#获得校花网的地址,图片的链接
import  re                  #载入爬虫模块
import  requests               #载入爬虫模块

response = requests.get(f'http://www.xiaohuar.com/list-1-0.html')
data = response.text                #data就是我们要的校花F12里的东西啦,并用字符串格式保存

one_list = re.findall('" src="(.*?)" /></a>',data) #其中(.*?)表示我们所要获得的内容
for v in range(len(one_list)): #type:str 这是为了让PYCHARM更快的知道V是字符串格式方便导入内置方法
    if one_list[v].startswith('/d'):         #这是为了让其中有些保护的图片变成正确的超链接格式
        one_list[v] = f'http://www.xiaohuar.com/{one_list[v]}'

第四步

创建文件保存下来

#获得校花网的地址,图片的链接
import  re                  #载入爬虫模块
import  requests               #载入爬虫模块

response = requests.get(f'http://www.xiaohuar.com/list-1-0.html')
data = response.text                #data就是我们要的校花F12里的东西啦,并用字符串格式保存

one_list = re.findall('" src="(.*?)" /></a>',data) #其中(.*?)表示我们所要获得的内容
for v in range(len(one_list)): #type:str 这是为了让PYCHARM更快的知道V是字符串格式方便导入内置方法
    if one_list[v].startswith('/d'):         #这是为了让其中有些保护的图片变成正确的超链接格式
        one_list[v] = f'http://www.xiaohuar.com/{one_list[v]}'
        
for x in one_list: #type:str
    name = x.split('/')[-1]   #为了自动生成文件名
    dd = requests.get(x)      #获得图片的信息
    dd = dd.content           #图片信息装换成机械语言
    with open(f'D:\图片\{name}','wb') as fw:  #创建文件的路径 , 写入保存
        fw.write(dd)
        fw.flush()     

第五步

获得校花网下一页中的所有能让并且每获取一张打印一次

import  re                  #模块
import  requests               #模块
num = 0                         #为了记录爬的照片的次数
for url_name in range(44):
    response = requests.get(f'http://www.xiaohuar.com/list-1-{url_name}.html')
    data = response.text
    # print(data)
    one_list = re.findall('" src="(.*?)" /></a>',data)
    for v in range(len(one_list)): #type:str
        if one_list[v].startswith('/d'):
            one_list[v] = f'http://www.xiaohuar.com/{one_list[v]}'
    for x in one_list: #type:str
        name = x.split('/')[-1]
        dd = requests.get(x)
        dd = dd.content
        with open(f'D:\图片\{name}','wb') as fw:
            fw.write(dd)
            fw.flush()
            num += 1
            print(f'爬取{num}张')

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券