消除对维基百科表格的引用

问题描述 投票:0回答:0

我想获取 Messier 目录的名称和维基百科的页面我得到的名称在我不想获取的每个单元格中都有一个参考编号,这是我的代码:

url1 = "https://dr12.sdss.org/fields"          
driver.get(url1)

driver.maximize_window()
from selenium.webdriver.common.keys import Keys

obj = []

ra = []

for i in range(2, 110):
    try:
        element1 = driver.find_element(By.ID, 'name')
        element1.send_keys("M"+str(i))   
        element1.send_keys(Keys.ENTER)
        time.sleep(5)
        element1 = driver.find_element(By.ID, 'name')
        element1.clear()
        err = driver.find_element(By.CLASS_NAME, 'text-error')
    except NoSuchElementException:
        element2 = driver.find_element(By.XPATH, '/html/body/div/div[5]/div[2]/dl/dd[10]')
        obj.append("M"+str(i).strip())
        ra.append(element2.text)
        
driver.quit()
print(obj)
print(ra)
    driver2 = webdriver.Chrome(ChromeDriverManager().install())
    
    url2 = "https://es.wikipedia.org/wiki/Anexo:Objetos_Messier"          
    driver2.get(url2)
    driver2.maximize_window()
    
    distance = driver2.find_elements(By.XPATH, '//*[@id="mw-content-text"]/div[1]/table/tbody/tr/td[6]')
    Obj_dist = driver2.find_elements(By.XPATH, '//*[@id="mw-content-text"]/div[1]/table/tbody/tr/td[1]')
    
    ob_dist = []
    
    for idx, i in enumerate(Obj_dist):
        oist = i.text.strip()
        ob_dist.append(oist) 
    
    dist = []
    
    for idx, i in enumerate(distance):
        distan = i.text.strip()
        if distan and ob_dist[idx] in obj:  
            dist.append(float(distan.replace(",", ".").replace(" ", ".")))
        else:
            dist.append(np.NaN)
    
    
    driver2.quit()
    
    dist

输出应该是

ob_dist
的名字应该和
obj
一样。

代码的其他部分有一些东西,但这不是问题,问题是通过使用

i.text
我得到了单元格的所有文本(包括参考号,这是我不知道的想要)。

我不知道该怎么做。感谢阅读

web-scraping wikipedia
© www.soinside.com 2019 - 2024. All rights reserved.