Попытка загрузить CSV по ссылке кнопки в Morningstar.Ссылка включает в себя обратный вызов, поэтому кажется, что она препятствует загрузке.В 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
http://financials.morningstar.com/finan/ajax/exportKR2CSV.html?&callback=?&t=XNAS:GOOGL®ion=usa&culture=en-US&cur=&order=asc
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]> []
Если вы пойдете по селеновому маршруту, вы легко сможете использовать селектор классов для кнопки загрузки.Вы можете указать параметры загрузки, такие как каталог, используя параметры 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()