Я недавно начал использовать Beautiful Soup. Для практики я пытаюсь почистить этот сайт .
Существуют некоторые теги div, к которым скребок, по-видимому, не может получить доступ, даже читатель URL, похоже, не читает эти теги div. HTML не указывает, что он использует JavaScript для части, которая не читается, поэтому теоретически я предполагаю, что Selenium не нужен. Особо важны теги div под идентификатором «ajaxTarget». Приведенный ниже код возвращает некоторые элементы, но большинство тегов div под этим конкретным тегом не читаются.
from urllib.request import Request, urlopen
from bs4 import BeautifulSoup
def main():
url_link = 'https://www.countryflags.com/en/'
req = Request(url_link, headers={'User-Agent': 'Mozilla/5.0'})
page = urlopen(req).read()
soup = BeautifulSoup(page, features='lxml')
div_master_container = soup.findAll('div', attrs={'id': 'ajaxTarget'})
print(len(div_master_container))
for item in div_master_container:
print(item)
if __name__ == '__main__':
main()
Буду признателен, если кто-нибудь укажет, есть ли элемент в HTML, который я пропускаю, или какой-либо другой фактор, способствующий этой проблеме.