【问题标题】:NASDAQ PULL DATA纳斯达克数据
【发布时间】:2020-11-28 03:33:51
【问题描述】:

我有一个包含 500 个索引的列表。我试图为每个索引提取公司的相应名称。我对每个项目都使用了一个简单的请求:

url = 'https://www.nasdaq.com/markey-activity/stocks/{}'.format('CCL')
r = requests.get(url)

此请求继续运行,不返回任何内容。

我还尝试了一个简单的“curl {url}”,它也不会在终端返回任何内容。

这是纳斯达克特有的吗?

【问题讨论】:

  • 你在网址中拼错了market,试试这个url="https://www.nasdaq.com/market-activity/stocks/tsla"
  • 我实际上在原始请求中拼写正确(只是不是我的帖子)。我也试过只做 curl 和你给的 url,它没有返回任何东西。
  • 这条评论stackoverflow.com/a/66334113/671013在一定程度上帮助了我。

标签: curl beautifulsoup python-requests scrape stock


【解决方案1】:

可能会重现该问题,并且还会遇到“无休止”的加载。不知道为什么,但您可以尝试以下方法:

抓取网站

from selenium import webdriver
driver = webdriver.Chrome(executable_path=r'C:\Program Files\ChromeDriver\chromedriver.exe')
URL = 'https://www.nasdaq.com/market-activity/stocks/tsla'

driver.get(URL)
driver.implicitly_wait(3) 
name = driver.find_element_by_css_selector('span.symbol-page-header__name').text
print(name)
driver.close()

“抓取 API”

from selenium import webdriver
import json

driver = webdriver.Chrome(executable_path=r'C:\Program Files\ChromeDriver\chromedriver.exe')
URL = 'https://api.nasdaq.com/api/company/tsla/company-profile'

driver.get(URL)

jsonResponse = json.loads(driver.find_element_by_tag_name('pre').text)
print(jsonResponse['data'].get('CompanyName'))
driver.close()

直接使用 API

https://dataondemand.nasdaq.com/docs/?python#

【讨论】:

    猜你喜欢
    • 2019-07-12
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多