• Как исправить парсер?

    ScriptKiddo
    @ScriptKiddo
    Последовательность действий:
    1) Перед кликом проверять наличие iframe виджета
    2) Если есть - переключиться на iframe с виджетом
    3) Нажать в нем кнопку закрытия
    4) Восстановить контекст iframe
    5) Продолжить работу

    Переключиться на iframe:

    # Xpath надо написать самому
    iframe = driver.find_element_by_xpath("//iframe")
    driver.switch_to.frame(iframe)


    Восстановить контекст iframe

    driver.switch_to.default_content()

    Либо можно воспользоваться requests

    import requests
    
    params = {
        'name': 'Иванов Иван Иванович',
        'numberOrInn': '1111111111',
    }
    
    response = requests.get('https://www.rgs.ru/api/agents/checkAgent', params=params)
    
    # {"Status":"NotFound","ErrorCorrelationIds":[],"ErrorCode":null}
    print(response.text)
    Ответ написан
    Комментировать
  • Как разделить элементы списка?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    my_list = ['Иванов Иван Иванович' ,'','', 'Больница', 'Исполняющий обязанности главного врача']
    name = my_list[0].split()
    name.extend(my_list[3:])
    print(name)

    ['Иванов', 'Иван', 'Иванович', 'Больница', 'Исполняющий обязанности главного врача']

    Берем первый элемент из списка, и разделяет по умолчанию(по пробелу). Потом получившийся список расширяем главным списком, только пропускаем 3 первые элемента.
    Ответ написан
    Комментировать
  • Как вычленить номер автомобиля?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    В номере присутствуют не все буквы, а только из списка
    А, В, Е, К, М, Н, О, Р, С, Т, У и Х
    Регулярка такая:
    ([АВЕКМНОРСТУХавекмнорстухABEKMHOPCTYXabekmhopctyx]\s*\d{3}\s*[АВЕКМНОРСТУХавекмнорстухABEKMHOPCTYXabekmhopctyx]{2}\s*\d{2,3})|([АВЕКМНОРСТУХавекмнорстухABEKMHOPCTYXabekmhopctyx]{2}\s*\d{3}\s*\d{2,3})


    Примеры на reg101
    Ответ написан
    Комментировать
  • Как спарсить таблицу с помощью BP?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Не хватает куков, которые определяют, что на странице только 10 результатов (или больше), соответственно, если их нет - нет и страниц

    Сделал так, все работает

    import requests
    from bs4 import BeautifulSoup  
    
    s = requests.Session()
    
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36'}
    
    s.get('https://mintrans.novreg.ru/perm/list.html', headers=headers, cookies={'abc': 'all', 'count': '10'})
    
    links = []
    for i in range(1, 4):
        r = s.get(f'https://mintrans.novreg.ru/perm/list%7Bpage-{i}%7D.html', headers=headers, cookies={'abc': 'all', 'count': '10'})
        soup = BeautifulSoup(r.text, 'html.parser')
        data = soup.find('table')
        links.append(data)
    Ответ написан
    4 комментария