Как очистить сайт, на котором я размещаю информацию - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу получить информацию об объявлениях из https://nseindia.com/corporates/corporateHome.html?id=allAnnouncements. В частности, я хочу перейти на вкладку Корпоративная информация в левой части веб-сайта, а затем открыть ссылку на корпоративные объявления в разделе акций.После этого я хочу разместить информацию об определенном символе акции в текстовом поле и загрузить выходные данные по ссылке csv export в левой части страницы.

Я пытаюсь понять, как сначала перейти на эту конкретную страницу.Поскольку все страницы имеют одинаковый URL-адрес https://nseindia.com/corporates/corporateHome.html?id=allAnnouncements., я пытался использовать проверку сети в Chrome, чтобы узнать, как перейти к определенной странице по приведенной выше ссылке.После некоторых исследований на вкладке сети

Actual Webpage where to navigate.

Inspecting the Network to figure out the link.

Нужно знать, как его запросить.

Я ожидаю, что скрипт перейдет на определенную страницу, а затем опубликует информацию о символах для загрузки объявлений csv link

1 Ответ

0 голосов
/ 22 апреля 2019

Вы нашли хороший URL.Это дает данные в формате JSON.Но в этом JSON есть некоторые ошибки, и стандартный модуль json не может его прочитать.С модулем dirtyjson я могу его прочитать.

import requests
#import json
import dirtyjson

url = 'https://nseindia.com/corporates/corpInfo/equities/getAnnouncements.jsp?period=Latest%20Announced'

r = requests.get(url)
#data = r.json() # doesn't work because JSON data has some mistakes

#text = r.text.strip()
#print(text)
#data = json.loads(text) # doesn't work because JSON data has some mistakes

data = dirtyjson.loads(r.text)
#print(data)

for item in data['rows']:
    #print(item)
    print(item.keys())
    print(item['sym'])
    print(item['desc'])
    print(item['name'])
    print(item['date'][:2], item['date'][2:4], item['date'][4:8])

Некоторые результаты:

['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
MOTOGENFIN
Updates
The Motor & General Finance Limited
21 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
KANORICHEM
Address Change
Kanoria Chemicals & Industries Limited
21 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
JAIHINDPRO
Updates
Jaihind Projects Limited
21 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
BLUECHIP
Appointment
Blue Chip India Limited
21 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
BLUECHIP
Resignation
Blue Chip India Limited
21 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
JAIHINDPRO
Corporate Insolvency Resolution Process
Jaihind Projects Limited
21 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
PAEL
Updates
PAE Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
BANDHANBNK
Updates
Bandhan Bank Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
ALICON
Updates
Alicon Castalloy Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
ADANIENT
Acquisition
Adani Enterprises Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
NLCINDIA
Updates
NLC India Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
SHILPAMED
Updates
Shilpa Medicare Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
KOTHARIPRO
Code of Conduct under SEBI(PIT) Reg., 2015
Kothari Products Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
LEEL
Updates
LEEL Electricals Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
SHILPAMED
Updates
Shilpa Medicare Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
ATULAUTO
Updates
Atul Auto Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
PDPL
Resignation
Parenteral Drugs (India) Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
IDBI
Updates
IDBI Bank Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
BLBLIMITED
Updates
BLB Limited
20 04 2019
['sym', 'desc', 'Ind', 'ISIN', 'name', 'date', 'seqId']
BLBLIMITED
Shareholders meeting
BLB Limited
20 04 2019
...