Я пытаюсь отсканировать информацию со следующего веб-сайта: https://www.axial.net/forum/companies/united-states-family-offices/
Я пытаюсь очистить описание для каждого семейного офиса, поэтому "https://www.axial.net/forum/companies/united-states-family-offices/ "+ insert_company_name" - это страницы, которые мне нужно почистить.
Поэтому я написал следующий код для проверки программы на одной странице:
from bs4 import BeautifulSoup as soup
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('insert_path_here/chromedriver')
driver.get("https://network.axial.net/company/ansaco-llp")
page_source = driver.page_source
soup2 = soup(page_source,"html.parser")
soup2.findAll('axl-teaser-description')[0].text
Это работает для на одной странице, пока в описании нет кнопки «показать полное описание». Я сохраню это для другого вопроса.
Я написал следующее l oop:
#Note: Lst2 has all the names for the companies. I made sure they match the webpage
lst3=[]
for key in lst2[1:]:
driver.get("https://network.axial.net/company/"+key.lower())
page_source = driver.page_source
for handle in driver.window_handles:
driver.switch_to.window(handle)
word_soup = soup(page_source,"html.parser")
if word_soup.findAll('axl-teaser-description') == []:
lst3.append('null')
else:
c = word_soup.findAll('axl-teaser-description')[0].text
lst3.append(c)
print(lst3)
Когда я запускаю l oop, все значения отображаются как "нулевые", даже те, которые не имеют кнопок "click for full description".
Я редактировал l oop вместо этого вывести «word_soup», и страница будет другой, чем если бы я запустил ее без al oop и не имел текста описания.
Я не понимаю, почему al oop вызовет что, но, видимо, это так. Кто-нибудь знает, как решить эту проблему?