如何在此站点上填充表数据? (网络抓取)

时间:2020-06-10 21:31:21

标签: javascript python web-scraping

出于实践目的,我正在尝试从此站点上的表中提取整个股票列表(我知道有Yahoo API for Finance等,但这是自学的):

https://www.nyse.com/listings_directory/stock

使用Python,我不想依赖诸如硒之类的笨重的东西,然后多次单击以遍历整个列表。

因此,我尝试浏览“网络”选项卡,查看是否有数据来源。也许是一个json文件左右。

我似乎找不到。我也尝试浏览Javascript文件(有很多!),我觉得自己正在深入无止境的海洋。我真的不知道我应该去哪里。

我假设应该与数据库建立某种联系? 谢谢您的帮助!

更新:

基于致癌物质提供的信息:

我尝试了以下操作,但仍未得到正确的响应

url = 'https://www.nyse.com/api/quotes/filter'


payload = {"instrumentType":"EQUITY","pageNumber":5,
           "sortColumn":"NORMALIZED_TICKER",
           "sortOrder":"ASC","maxResultsPerPage":10,
           "filterToken":""}

response = requests.post(url, data = payload)
print(response)

根据我使用POST还是GET,我得到以下响应:

<Response [404]>
<Response [415]>
<Response [404]>

1 个答案:

答案 0 :(得分:1)

我是通过以下方式找到它的:

  • 在Edge中(尽管Chrome也可能工作),我进入了“网络”标签,开始记录并刷新。

  • 在右上角的搜索栏中,搜索“ Agilent”(表中股票的名称)。

  • 它表明它是源自https://www.nyse.com/api/quotes

  • 的JSON

Example

我以前从未使用过他们的API,但是您可以将POST请求发送到该地址以获取信息。您需要查看他们的文档,以了解如何正确使用他们的API。