网络.尝试下载文件时,内容卡住或超时



我无法连接到有一个小xlsx文件的站点。该文件是本网站的钻机数量摘要。右击在


let
Source = Excel.Workbook(Web.Contents("https://rigcount.bakerhughes.com/static-files/3ba17f6e-62be-454c-bbd9-806996a7d991"), null, true)

in
Source

web服务器获得HTTP请求,并且可以根据请求中存在的HTTP头进行不同的行为。通过反复试验,您可以从浏览器调试模式或Fiddler中检查的工作请求中复制请求头,并将其添加到Web.Contents中。这样做的结果类似于:

let
headers = [
#"User-Agent"="Mozilla/5.0 (iPad; CPU OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/87.0.4280.77 Mobile/15E148 Safari/604.1 Edg/108.0.0.0"
,#"Accept-Encoding"="gzip, deflate"
],
Source = Web.Contents("https://rigcount.bakerhughes.com/static-files/3ba17f6e-62be-454c-bbd9-806996a7d991",[Headers=headers]),
Data = Excel.Workbook(Source),
RigCountSummary_CurrentWeek_Sheet = Data{[Item="RigCountSummary_CurrentWeek",Kind="Sheet"]}[Data]
in
RigCountSummary_CurrentWeek_Sheet

没有Accept-EncodingUser-Agent标头,请求挂在web服务器上。这可能是该web应用程序的bug,而不是反抓取措施,因为您不会故意导致传入请求长时间挂起。

问题是你的网站没有提供到Excel文件的直接链接。

  • 当您点击xlsx链接时,java脚本开始下载Rig Count Summary_121622.xlsx
  • 当你复制xlsx链接,你得到https://rigcount.bakerhughes.com/static-files/4ef2cc30-b5a4-4b91-856a-499467858baa,这不是一个Excel文件。

最新更新