尝试从Morningstar中的按钮链接下载CSV。该链接包含一个回调,因此似乎阻止了下载。在Chrome浏览器中,使用“检查”功能时,URL为http://financials.morningstar.com/finan/ajax/exportKR2CSV.html?&callback=?&t=XNAS:GOOGL®ion=usa&culture=en-US&cur=&order=asc
,但粘贴到地址栏中后,不会自动下载CSV。如何更新以下代码以通过回调从链接下载CSV? http://financials.morningstar.com/ratios/r.html?t=GOOGL®ion=usa&culture=en-US
import requests
url = "http://financials.morningstar.com/finan/ajax/exportKR2CSV.html?&callback=?&t=XNAS:GOOGL®ion=usa&culture=en-US&cur=&order=asc"
with requests.Session() as s:
download = s.get(url)
decoded_content = download.content.decode('utf-8')
cr = csv.reader(decoded_content.splitlines(), delimiter=',')
my_list = list(cr)
for row in my_list:
print(row)
my_list
输出:
<Response [204]>
[]
答案 0 :(得分:1)
如果您确实选择了硒路线,则可以轻松地使用类选择器来定位下载按钮。您可以通过Chrome选项指定下载选项,例如目录。
from selenium import webdriver
d = webdriver.Chrome()
d.get('http://financials.morningstar.com/ratios/r.html?t=GOOGL®ion=usa&culture=en-US')
d.find_element_by_css_selector('.large_button').click()
d.quit()