Я пытаюсь получить данные с помощью приведенного ниже кода, но он дает ошибку, есть ли другой метод - PullRequest
0 голосов
/ 29 января 2020
from selenium import webdriver
from bs4 import BeautifulSoup as bs
import time


url = 'https://www.mciindia.org/CMS/information-desk/indian-medical-register'

driver = webdriver.Chrome('C:\chromedriver.exe')
driver.get(url)


driver.find_element_by_xpath("//div[@class='col-sm-4']//button[@class='multiselect dropdown-toggle btn btn-default']").click()

driver.find_elements_by_xpath("//label[contains(text(),'2015')]")
driver.find_element_by_xpath("//button[@id='doctor_advance_Details']").click()


soup = bs(driver.page_source, 'html.parser')
table = soup.find('table',{'id':'doct_info5'})
headers = [ header.text.strip() for header in table.find_all('th') ]

next_page = True
while next_page == True:
    soup = bs(driver.page_source, 'html.parser')
    table = soup.find('table',{'id':'doct_info5'})
try:
    rows = table.find_all('tr')
    for row in rows:
        if len(row.find_all('td')) == 7:
            data = row.find_all('td')

            name = data[4].text.strip()
            root_url = data[6].a['href'].split("'")[1]
            id_url = data[6].a['href'].split("'")[3]

            link = root_url + 'ViewDetails.aspx?ID=' + id_url

            print ('Link: %s' %(link))
except:
     pass

time.sleep(5)
try:
    driver.find_element_by_xpath("//a[contains(text(),'Next')]").click()
except:
    print ('No more pages')
    next_page=False

driver.close()

Код, написанный выше, не щелкает по году, используя xpath. Я пытался щелкнуть по указанным c годам, чтобы получить данные. Есть ли другой способ получить данные по вышеуказанной ссылке. Есть ли другой способ, кроме селена вебдрайвер .. мы можем просто извлечь с помощью Beautifulsoup и запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...