Невозможно _скрапировать_ правильные данные из информации о собрании совета по контролю за денежными средствами

#python-3.x #python-requests

#python-3.x #python-запросы

Вопрос:

Я могу очистить таблицы с этого веб-сайта

но я не могу разделить запись, что я хотел. Вот мой код

  import requests
from bs4 import BeautifulSoup
import re

r = requests.get('https://www.moneycontrol.com/stocks/marketinfo/meetings.php?opttopic=brdmeeting')

print(r.status_code)
soup = BeautifulSoup(r.text, 'lxml')
# print(soup)

Calendar = soup.find('table', class_ = 'b_12 dvdtbl tbldata14').text
print(Calendar.strip())
 for Company_Name in Calendar.find_all('tr'):
     rows = Company_Name.find_all('td', class_ = 'dvd_brdb')
     print(rows)
     for row in rows:
         pl_calender = row.find_all('b')
         print(pl_calender)
  

Результат

 Company Name
Date
Agenda


Aplab




Add to Watchlist
Add to Portfolio




14-Sep-2020
Quarterly Results
  

Я ищу выходные данные в формате ниже

 Date,Company Name,event
2020-09-14,Divi's Laboratories Ltd,AGM 14/09/2020
2020-09-14,Grasim Industries Ltd.,AGM 14/09/2020
  

Вывод изображения

Заранее спасибо, Яна, оставайся в безопасности и живи здоровой

Ответ №1:

вот что я пытаюсь :

 r = requests.get('https://www.moneycontrol.com/stocks/marketinfo/meetings.php?opttopic=brdmeeting')

soup = BeautifulSoup(r.text, 'lxml')

mytable = soup.find('table', class_ = 'b_12 dvdtbl tbldata14')
companyname = mytable.find_all('b')
date = mytable.find_all('td', attrs={'class':'dvd_brdb', 'align':'center'})
agenda = mytable.find_all('td', attrs={'class':'dvd_brdb', 'style':'text-align:left;'})

companyname_list = []
date_list = []
agenda_list = []

for cn in companyname:
    companyname_list.append(cn.get_text())

for dt in date:
    date_list.append(dt.get_text())

for ag in agenda:
    agenda_list.append(ag.get_text())

del companyname_list[0:2]
del date_list[0:2]

fmt = '{:<8}{:<20}{:<20}{:<20}'

print(fmt.format('', 'Date', 'Company Name', 'Agenda'))
for i, (datess, companynamess, agendass) in enumerate(zip(date_list, companyname_list, agenda_list)):
    print(fmt.format(i, datess, companynamess, agendass))
  

Результат :

         Date                Company Name        Agenda              
0       15-Sep-2020         7NR Retail          Quarterly Results   
1       15-Sep-2020         Scan Projects       Quarterly Results   
2       15-Sep-2020         Avonmore Cap        Quarterly Results
3       15-Sep-2020         Elixir Cap          Quarterly Results   
4       15-Sep-2020         Aarvee Denim        Quarterly Results   
5       15-Sep-2020         Vipul               Quarterly Results      
...
....