Я просматриваю веб-сайт в коде. Вот что делает мой код. Перебирает 52 страницы и получает ссылку на каждый URL.
Затем он перебирает эти URL и пытается получить ссылку для английского sh перевода. если вы видите монгольский веб-сайт, на нем есть раздел «Орчуулга» вверху справа и «Engli sh» внизу - это ссылка на английский sh перевод.
Однако мой Код не может получить ссылку на английский sh перевод и дает неправильный URL. Ниже приведен пример вывода для первой статьи.
1
{'https://mn.usembassy.gov/mn/2020-naadam-mn/': 'https://mn.usembassy.gov/mn/sitemap-mn/'}
Ожидаемый результат для первой страницы должен быть
1
{'https://mn.usembassy.gov/mn/2020-naadam-mn/': 'https://mn.usembassy.gov/2020-naadam/'}
Ниже мой код
import requests
from bs4 import BeautifulSoup
url = 'https://mn.usembassy.gov/mn/news-events-mn/page/{page}/'
urls = []
for page in range(1, 53):
print(str(page) + "/52")
soup = BeautifulSoup(requests.get(url.format(page=page)).content, 'html.parser')
for h in soup.find_all('h2'):
a = h.find('a')
urls.append(a.attrs['href'])
print(urls)
i = 0
bilingual_dict = {}
for url in urls:
i += 1
print(i)
soup = BeautifulSoup(requests.get(url.format(page=url)).content, 'html.parser')
for div in soup.find_all('div', class_='translations_sidebar'):
for ul in soup.find_all('ul'):
for li in ul.find_all('li'):
a = li.find('a')
bilingual_dict[url] = a['href']
print(bilingual_dict)
print(bilingual_dict)