【问题标题】:How can I download all the data folders available in a website?如何下载网站中可用的所有数据文件夹?
【发布时间】:2018-09-10 16:26:15
【问题描述】:

一般来说,如果网站显示一系列指向包含文件夹的数据的链接(即带有经济数据的电子表格),我如何编写一个程序来识别所有链接并下载数据?

特别是,我正在尝试下载本网站https://www.ngdc.noaa.gov/eog/viirs/download_dnb_composites.html中从2012年到2018年的所有文件夹

我尝试了下面建议的方法,但似乎没有下载到数据的链接。

my_target='https://www.ngdc.noaa.gov/eog/viirs/download_dnb_composites.html'


import requests
from bs4 import BeautifulSoup

r  = requests.get(my_target)
data = r.text
soup = BeautifulSoup(data)

links=[]
for link in soup.find_all('a'):
    links.append(link.get('href'))
    print(link.get('href'))

在附加到链接的所有 URL 中,没有一个指向数据。

最后,即使我有正确的链接,如何使用它们来实际下载文件?

非常感谢! ;)

【问题讨论】:

  • 那么,你有所有文件的链接,但你不知道如何下载它们?
  • 不幸的是我两个都需要:)

标签: python web-scraping download


【解决方案1】:

这是一个典型的网络抓取任务。

【讨论】:

  • 其实没那么简单。简单的 URL 提取后,链接不直接可用。即使在解析的 html 中,它们也不在这里。就好像网站的下拉菜单正在发出一些外部请求
  • 那么你应该使用selenium来提取URL或提供页面源,在处理完所有动态的东西之后,返回beautifulsoup。
  • 非常感谢 @m9mhmdy 重定向到 selenium!但是,对于网络抓取来说,我不知道从哪里开始。进一步澄清将非常有帮助!
猜你喜欢
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 2018-01-03
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
  • 2019-07-04
  • 2015-03-17
相关资源
最近更新 更多