收集链接中的下拉列表,使用请求。

huangapple go评论126阅读模式
英文:

Collect the Dropdown List from Link using Request

问题

  1. import pandas as pd
  2. from requests import Session
  3. import os, time, sys
  4. from datetime import datetime
  5. s = Session()
  6. headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) '\
  7. 'AppleWebKit/537.36 (KHTML, like Gecko) '\
  8. 'Chrome/75.0.3770.80 Safari/537.36'}
  9. # Add headers
  10. s.headers.update(headers)
  11. URL = 'https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp'
  12. params = {'symbolCode': 9999, 'symbol': 'BANKNIFTY', 'instrument': '-', 'date': '9JAN2020', 'segmentLink': 17}
  13. res = s.get(URL, params=params)
  14. df1 = pd.read_html(res.content)[0]
  15. df2 = pd.read_html(res.content)[1]

以上是您提供的代码部分的翻译。如果您还有其他需要翻译的内容或问题,请随时提问。

英文:

I have a link as below:

url = "https://nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=BANKNIFTY&date=9JAN2020"

I want to collect all the Expiry Date available as per the image below:

收集链接中的下拉列表,使用请求。

  1. My Code:
  2. ########################
  3. import pandas as pd
  4. from requests import Session
  5. import os, time, sys
  6. from datetime import datetime
  7. s = Session()
  8. headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) '\
  9. 'AppleWebKit/537.36 (KHTML, like Gecko) '\
  10. 'Chrome/75.0.3770.80 Safari/537.36'}
  11. # Add headers
  12. s.headers.update(headers)
  13. URL = 'https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp'
  14. params = {'symbolCode':9999,'symbol':'BANKNIFTY','instrument': '-','date': '9JAN2020','segmentLink': 17}
  15. res = s.get(URL, params=params)
  16. df1 = pd.read_html(res.content)[0]
  17. df2 = pd.read_html(res.content)[1]

Not able to get the values in df1 nor df2

答案1

得分: 3

import requests
import lxml.html

url = 'https://nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=BANKNIFTY&date=9JAN2020'

r = requests.get(url)
soup = lxml.html.fromstring(r.text)

items = soup.xpath('//form[@id="ocForm"]//option/text()')
print(items)

Result

[' Select ', '9JAN2020', '16JAN2020', '23JAN2020', '30JAN2020', '6FEB2020', '13FEB2020', '20FEB2020', '27FEB2020', '5MAR2020', '26MAR2020']

英文:

It needs minimal knowlege of requests and BeautifulSoup or lxml

  1. import requests
  2. import lxml.html
  3. url = 'https://nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp?segmentLink=17&instrument=OPTIDX&symbol=BANKNIFTY&date=9JAN2020'
  4. r = requests.get(url)
  5. soup = lxml.html.fromstring(r.text)
  6. items = soup.xpath('//form[@id="ocForm"]//option/text()')
  7. print(items)

Result

  1. [' Select ', '9JAN2020', '16JAN2020', '23JAN2020', '30JAN2020', '6FEB2020', '13FEB2020', '20FEB2020', '27FEB2020', '5MAR2020', '26MAR2020']

答案2

得分: 0

  1. import pandas as pd
  2. from requests import Session
  3. import lxml.html
  4. s = Session()
  5. headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) '\
  6. 'AppleWebKit/537.36 (KHTML, like Gecko) '\
  7. 'Chrome/75.0.3770.80 Safari/537.36'}
  8. # Add headers
  9. s.headers.update(headers)
  10. URL = 'https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp'
  11. params = {'symbolCode': 9999, 'symbol': 'BANKNIFTY', 'instrument': 'OPTIDX', 'date': '-', 'segmentLink': 17}
  12. res = s.get(URL, params=params)
  13. soup = lxml.html.fromstring(res.text)
  14. items = soup.xpath('//form[@id="ocForm"]//option/text()')
  15. print(items)
  16. text = pd.read_html(res.content)[0].loc[0, 1]
  17. print(text)
英文:
  1. import pandas as pd
  2. from requests import Session
  3. import lxml.html
  4. s = Session()
  5. headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) '\
  6. 'AppleWebKit/537.36 (KHTML, like Gecko) '\
  7. 'Chrome/75.0.3770.80 Safari/537.36'}
  8. # Add headers
  9. s.headers.update(headers)
  10. URL = 'https://www.nseindia.com/live_market/dynaContent/live_watch/option_chain/optionKeys.jsp'
  11. params = {'symbolCode':9999,'symbol':'BANKNIFTY','instrument': 'OPTIDX','date': '-','segmentLink': 17}
  12. res = s.get(URL, params=params)
  13. soup = lxml.html.fromstring(res.text)
  14. items = soup.xpath('//form[@id="ocForm"]//option/text()')
  15. print(items)
  16. text = pd.read_html(res.content)[0].loc[0, 1]
  17. print(text)

huangapple
  • 本文由 发表于 2020年1月3日 19:20:32
  • 转载请务必保留本文链接:https://go.coder-hub.com/59577693.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定