繁体   English   中英

如何使用Python获取网站上.xls文件的文件名(requests-html)

[英]How to get the filename of an .xls file on a website with Python (requests-html)

我正在尝试从芬兰药品价格局抓取Excel文件

我正在使用requests-html查找指向excel文件的链接:

from requests_html import HTMLSession
import urllib.request
url = 'http://www.hila.fi/fi/hakeminen_ja_ilmoitukset/viitehintajarjestelma/ryhmat_ja_hinnat/viitehintapaatokset2009'
session = HTMLSession()
r = session.get(url)
sel = 'a[href*=".xls"]'
reference_datas = r.html.find(sel)

for reference_data in reference_datas:
    url = reference_data.absolute_links.pop()
    response = urllib.request.urlopen(url)
    with open('test.xls', 'wb') as f:
        f.write(response.read())

这对于excel文件的内容效果很好,但是所选元素没有有关文件名的信息。 文件名包含有关文件价格适用期间的信息。 例如,链接http://www.hila.fi/c/document_library/get_file?folderId=792534&name=DLFE-4531.xls获取文件Viitehintaluettelo Q4_2009_paivitetty.xls

如何获取此文件名作为字符串,以便可以从中提取时间信息Q4_2009

您可以通过标题访问它。

from requests_html import HTMLSession
session = HTMLSession()
r = session.get('http://www.hila.fi/c/document_library/get_file?folderId=792534&name=DLFE-4531.xls')
content_disposition =  r.headers.get('Content-Disposition')
print(content_disposition)
#  'attachment; filename="Viitehintaluettelo Q4_2009_paivitetty.xls"'

只需解析content_disposition filename 您可以在此处查看内容处置规范

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM