python爬取图片然后保存在文件夹中

python爬取图片然后保存在文件夹中

直接上代码:

import os
import requests
import re


def getimg(soup,i):
    print('http:'+ soup[0])
    root = "D://tu//tu"  # 保存的根目录
    j=1
    for k in soup:
        print(k)
        path = root + str(j) + ".jpg"  # 保存的地址
        if not os.path.exists(path):  # 如果文件不存在就爬取并保存
            mun='http:'+ k
            r=requests.get(mun)
            j=j+1
            with open(path, 'wb') as f:  # 'wb'以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
                f.write(r.content)  # content返回二进制数据,所以使用'wb'
                f.close()
                print("文件保存成功")
        else:
            print("文件已存在")
def main():
    url = 'https://s.taobao.com/search?q=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20201126&ie=utf8'
    file = open('C:/Users/YHAA-1ED2A3/Desktop/taobao_product.txt','w',encoding='utf-8')
    cookie_str = r't=e62fc3896f26735342c795d27a369781; c83ebeb; xlly_s=1; '
    cookies = {}
    headers = {'User-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
    for line in cookie_str.split(';'):
        key, value = line.split('=', 1)
        cookies[key] = value
    r = requests.get(url, headers = headers, cookies = cookies)
    r.encoding = r.apparent_encoding
    demo = r.text
    soup = re.findall(r'"pic_url":"([^"]+)"',r.text,re.I) 
    getimg(soup,1)

main()

结果:
在这里插入图片描述

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你可以使用Python的ftplib库来连接FTP服务器,并使用pandas库来读取Excel表格。具体步骤如下: 1. 首先,你需要安装ftplib和pandas库。你可以使用pip命令来安装这两个库: ``` pip install ftplib pandas ``` 2. 然后,你需要连接到FTP服务器。你可以使用ftplib库的FTP类来连接FTP服务器: ```python import ftplib ftp = ftplib.FTP("ftp.example.com") ftp.login("username", "password") ``` 在这里,你需要将`ftp.example.com`替换为你的FTP服务器地址,`username`替换为你的FTP用户名,`password`替换为你的FTP密码。 3. 接下来,你需要读取Excel表格的特定名称,并按照它们的顺序来下载图片文件。你可以使用pandas库来读取Excel表格: ```python import pandas as pd # 读取Excel表格 df = pd.read_excel("filename.xlsx") # 获取名称列表 names = df["Name"].tolist() ``` 在这里,你需要将`filename.xlsx`替换为你的Excel表格的文件名,`Name`替换为你的特定名称的列名。 4. 最后,你可以使用ftplib库的retrbinary方法来下载FTP服务器上的文件,并使用os库来创建特定名称的文件夹: ```python import os # 创建文件夹 os.makedirs("images") # 下载图片文件 for name in names: filename = f"{name}.jpg" filepath = f"images/{filename}" with open(filepath, "wb") as file: ftp.retrbinary(f"RETR {filename}", file.write) ``` 在这里,`images`是你想要保存图片文件夹名称,`{name}.jpg`是图片文件的名称,`RETR {filename}`是FTP命令,用于下载特定名称的文件。 这就是用Python按照Excel表格特定名称的顺序在FTP爬取图片保存在特定文件夹的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值