Python-从网页下载应用程序/ csv数据

时间:2019-04-02 15:52:58

标签: python csv beautifulsoup python-requests

我正在使用requests库来获取一个特定的网页,该网页包含一个可在csv中下载数据的链接。链接的格式为

<a class="csv-download" download="data.csv" target"_blank"="" style="cursor:pointer" href="data:application/csv;charset=utf-8,%22Date%22%2C%22Volume%2FLength%22%2C%22Length%2FWidth%22%2C%22Weight%20gm%22%0A%2208-Jan-2018%22%2C%22%20%20%20%20%20%20%2023.19%22%2C%22%20%20%20%20%20%20%20%202.13%22%2C%22%20%20%20%20%20%20%20%201.32%22%0A" target="_blank">Download csv</a>

从浏览器中单击此链接后,会将数据下载到文件download.csv

我需要将其提取为csv并存储到文件中。我在项目中使用BeautifulSoup来解析HTML文件。

如何从Python下载csv文件?

这是我到目前为止所拥有的

import requests
from bs4 import BeautifulSoup as BS

r = requests.get(url)
soup = BS(r.text)
target_elt = soup.find('a', "csv-download")
# TODO - download the csv data

1 个答案:

答案 0 :(得分:0)

由于所需文件的内容存储在href的{​​{1}}属性中,因此从逗号后面开始,您可以在第一个逗号处拆分该属性的内容,然后对该部分进行解码在第一个逗号之后:

target_elt