从网页、网络抓取工具下载 xls 文件
download xls file from a webpage, web scraper
我是 python 世界的新手,我想进行网络抓取。
我想从以下网站下载一些xls文件到指定位置文件夹。 (例如桌面)
你能帮我解决这个问题吗?
网站是
https://www.ici.org/research/stats
我已经尝试过可用于类似问题的代码,但我没能使它们适用于我的情况:(
非常感谢。
要使用 BeautifulSoup,您首先需要了解 html 源代码的结构。您可以通过简单的 google 搜索找到一些基本教程。
但最基本的是 html 代码包含具有 tags
的元素,并且这些标签具有 attributes
。您要查找的内容在 <a>
标签下,相应的 link 作为 href
属性。所以我们需要找到所有 <a>
标签,它们有一个 href
属性,扩展名为 excel xls
.
您可以通过检查页面来查看(右键单击页面并 select 检查,或 ctrl-shift-I 打开开发工具窗格。然后您可以四处单击以找到使用相应的 html 代码)并查看 html 来源:
获得这些后,您将遍历它们以打开和保存。我们也只会为 "Supplement: Worldwide Public Tables" 在 text/content 中的标记元素执行此操作。
只需确保选择正确的根目录即可将其保存在 output = open('C:/path/to/desktop/' + filename, 'wb')
:
的位置
import os
import requests
from bs4 import BeautifulSoup
desktop = os.path.expanduser("~/Desktop")
url = 'https://www.ici.org/research/stats'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
excel_files = soup.select('a[href*=xls]')
for each in excel_files:
if 'Supplement: Worldwide Public Tables' in each.text:
link = 'https://www.ici.org' + each['href']
filename = each['href'].split('/')[-1]
if os.path.isfile(desktop + '/' + filename):
print ('*** File already exists: %s ***' %filename)
continue
resp = requests.get(link)
output = open(desktop + '/' + filename, 'wb')
output.write(resp.content)
output.close()
print ('Saved: %s' %filename)
我是 python 世界的新手,我想进行网络抓取。
我想从以下网站下载一些xls文件到指定位置文件夹。 (例如桌面)
你能帮我解决这个问题吗?
网站是
https://www.ici.org/research/stats
我已经尝试过可用于类似问题的代码,但我没能使它们适用于我的情况:(
非常感谢。
要使用 BeautifulSoup,您首先需要了解 html 源代码的结构。您可以通过简单的 google 搜索找到一些基本教程。
但最基本的是 html 代码包含具有 tags
的元素,并且这些标签具有 attributes
。您要查找的内容在 <a>
标签下,相应的 link 作为 href
属性。所以我们需要找到所有 <a>
标签,它们有一个 href
属性,扩展名为 excel xls
.
您可以通过检查页面来查看(右键单击页面并 select 检查,或 ctrl-shift-I 打开开发工具窗格。然后您可以四处单击以找到使用相应的 html 代码)并查看 html 来源:
获得这些后,您将遍历它们以打开和保存。我们也只会为 "Supplement: Worldwide Public Tables" 在 text/content 中的标记元素执行此操作。
只需确保选择正确的根目录即可将其保存在 output = open('C:/path/to/desktop/' + filename, 'wb')
:
import os
import requests
from bs4 import BeautifulSoup
desktop = os.path.expanduser("~/Desktop")
url = 'https://www.ici.org/research/stats'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
excel_files = soup.select('a[href*=xls]')
for each in excel_files:
if 'Supplement: Worldwide Public Tables' in each.text:
link = 'https://www.ici.org' + each['href']
filename = each['href'].split('/')[-1]
if os.path.isfile(desktop + '/' + filename):
print ('*** File already exists: %s ***' %filename)
continue
resp = requests.get(link)
output = open(desktop + '/' + filename, 'wb')
output.write(resp.content)
output.close()
print ('Saved: %s' %filename)