Я довольно новичок в программировании, и я все еще учусь и пытаюсь понять, как классы и все такое работают вместе.Но дал ему шанс (вот как мы учимся, верно?)
Не уверен, что это то, что вы ищете в качестве результата.Я изменил 2 вещи и смог поместить все ссылки из YearLinks в список.Обратите внимание, что он также будет включать ссылки в формате PDF и ссылки за месяцы, которые, я думаю, вам нужны.Если вам не нужны эти PDF-ссылки, а исключительно месяцы, просто не включайте pdf.
Итак, вот код, с которым я это сделал, и, возможно, вы можете использовать его, чтобы соответствовать тому, как выструктурировать.
root_url = 'https://www.iea.org'
class IEAData:
def get_links(self, url):
all_links = []
page = requests.get(url)
soup = bs4.BeautifulSoup(page.text, 'html.parser')
for href in soup.find_all(class_='omrlist'):
all_links.append(root_url + href.find('a').get('href'))
return all_links
#print(all_links)
iea_obj = IEAData()
yearLinks = iea_obj.get_links(root_url + '/oilmarketreport/reports/')
reportLinks = []
for url in yearLinks:
links = iea_obj.get_links(url)
# uncomment line below if you do not want the .pdf links
#links = [ x for x in links if ".pdf" not in x ]
reportLinks += links