使用beautifulsoup在moneycontrol网站的搜索框中填写股票输入

2024-10-02 10:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Moneycontrol site获取stock信息。我想在searchbox中填写股票名称。 html代码:

<input class="txtsrchbox FL" id="search_str" 
      onkeyup="getAutosuggesionHeader('#form_topsearch');" 
      onclick="getAutosuggesionHeader('#form_topsearch');" 
      placeholder="Search Quotes, News, NAVs" name="search_str" 
      value="" type="text" autocomplete="off">

如何使用beautifulsoup来实现这一点。在

我试过以下代码:

^{pr2}$

Tags: 代码form信息inputsearchhtmlstocksite
1条回答
网友
1楼 · 发布于 2024-10-02 10:28:55

我不熟悉财务信息,所以这可能没有用,但也许是,或者也许QHarr可以利用它。看来它能为(t:time)带来一些价值?,cp:收盘价?v: 音量?美联社:???)在

所以我注意到您可以从图表数据中得到一些响应,但是它需要输入一个参数来进行查询(例如,对于SBIN,一个sc_id值,在本例中是SBI)

所以我需要一种方法来获得这个sc_id值,并且看到他们有一个“建议的”文本搜索返回,可以访问它来输入您的搜索词(即:“sbin”),以获得该sc_id

这里有一个小脚本,可以为SBIN获取一些信息。希望这能起到一些作用:

import requests
import json

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36'}


# Enter search text
query_input = input('Enter Search Text: ')

#Get suggested sc_id
suggest_query_url = 'https://www.moneycontrol.com/mccode/common/autosuggestion_solr.php'

query = {
'classic': 'true',
'query': query_input,
'type': '1',
'format': 'json',
'callback': 'suggest1'}


# Pull out the sc_id
suggested_response = requests.get(suggest_query_url , headers=headers, params=query).text
suggested_response = suggested_response.split('(',1)[1]
suggested_response = suggested_response.rsplit(')',1)[0]

sc_id = json.loads(suggested_response)[0]['sc_id']


# Use the sc_id to get BSE and NSE data
request_url = 'https://www.moneycontrol.com/stocks/company_info/get_vwap_chart_data.php'
query = {'sc_did': sc_id}

response = requests.get(request_url, headers=headers, params=query).json()

输出:

^{pr2}$

相关问题 更多 >

    热门问题