python 根据网址和关键词批量下载影像

最近用到了GLASS的LAI产品,但这个产品的文件夹分得很细,我需要的影像又有8个瓦片,一个一个点击很麻烦,于是探索了批量下载的方法
在这里插入图片描述
在这里插入图片描述

一、下载1幅

import requests
import re
import os
import requests
import re

# 网页URL

url = "http://www.glass.umd.edu/LAI/MODIS/250m/2003/009/"  #网址

# 本地文件夹路径
local_folder = r"F:\BH\1.data\2.area data\LAI"

# 确保本地文件夹存在
if not os.path.exists(local_folder):
    os.makedirs(local_folder)

# 发送HTTP请求获取网页内容
response = requests.get(url)

# 使用正则表达式提取文件链接
file_links = re.findall(r'href=[\'"]?([^\'" >]+)', response.text)

# 遍历文件链接,下载包含特定关键词的文件 hdf
for file_link in file_links:
    if ".hdf" in file_link and "h26v05" in file_link:
        # 下载文件
        file_url = url + "/" + file_link
        file_name = os.path.join(local_folder, file_link.split("/")[-1])
        with open(file_name, 'wb') as f:
            response_file = requests.get(file_url)
            f.write(response_file.content)

print("ok")

在这里插入图片描述

二、下载n


import requests
import re
import os
import requests
import re

# 网页URL
years=['2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021']
days=['001','009','017','025','033','041','049','057','065','073','081','089','097',
     '105','113','121','129','137','145','153','161','169','177','185','193',
     '201','209','217','225','233','241','249','257','265','273','281','289','297',
     '305','313','321','329','337','345','353','361']

for i in range(0,len(years)):
    for j in range(0,len(days)):
        url = "http://www.glass.umd.edu/LAI/MODIS/250m/"+years[i]+"/"+days[j]+"/"  #网址
        
        # 本地文件夹路径
        local_folder = r"F:\BH\1.data\2.area data\LAI"
        
        # 确保本地文件夹存在
        if not os.path.exists(local_folder):
            os.makedirs(local_folder)
        
        # 发送HTTP请求获取网页内容
        response = requests.get(url)
        
        # 使用正则表达式提取文件链接
        file_links = re.findall(r'href=[\'"]?([^\'" >]+)', response.text)
        
        # 遍历文件链接,下载包含特定关键词的文件 hdf
        for file_link in file_links:
            if ".hdf" in file_link and ("h24v05" in file_link or "h25v05" in file_link or "h26v05" in file_link or "h27v05" in file_link 
                                        or "h24v06" in file_link or "h25v06" in file_link or "h26v06" in file_link or "h27v06" in file_link or "h28v06" in file_link ):
                # 下载文件
                file_url = url + "/" + file_link
                file_name = os.path.join(local_folder, file_link.split("/")[-1])
                with open(file_name, 'wb') as f:
                    response_file = requests.get(file_url)
                    f.write(response_file.content)

print("ok")

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
批量查询百度关键词排名可以使用Python中的requests和beautifulsoup库来实现。具体步骤如下: 1. 读取包含关键词和网站的CSV文件。 2. 构造百度搜索的URL。 3. 发送请求并获取页面内容。 4. 使用beautifulsoup解析页面,查找排名信息。 5. 将结果保存到CSV文件中。 以下是一个简单的Python代码片段,可以实现批量查询关键词在百度上指定网站的排名: ```python import requests from bs4 import BeautifulSoup import csv # 读取包含关键词和网站的CSV文件 with open('keywords.csv', 'r', encoding='utf-8') as f: reader = csv.reader(f) keywords = [row for row in reader] # 构造百度搜索的URL url_template = 'https://www.baidu.com/s?wd={}' results = [] # 遍历所有关键词和网站,查询排名 for keyword, site in keywords: url = url_template.format(keyword) # 发送请求并获取页面内容 response = requests.get(url) html = response.text # 使用beautifulsoup解析页面 soup = BeautifulSoup(html, 'html.parser') # 查找排名信息 search_results = soup.find_all('div', class_='result c-container ') # 遍历所有搜索结果,查找指定网站的排名 for i, result in enumerate(search_results): link = result.find('a')['href'] if site in link: results.append([keyword, site, i+1]) break else: results.append([keyword, site, '未找到排名']) # 将结果保存到CSV文件中 with open('results.csv', 'w', encoding='utf-8', newline='') as f: writer = csv.writer(f) writer.writerow(['关键词', '网站', '排名']) writer.writerows(results) ``` 这段代码可以批量查询关键词在百度上指定网站的排名,并将结果保存到CSV文件中。需要注意的是,在实际使用中,需要根据百度搜索结果页面结构的变化来调整代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值