Я пытался очистить этот сайт с помощью селена и beautifulSoup. Однако я думаю, что делаю что-то не так, так как не могу вернуть href из указанного c class ('card-content).
Итак, я использовал это:
links = [link.get('href') for link in soup.select('a')]
Что приносит несколько результатов, которые для меня не имеют значения. Я хочу, чтобы все href начинались с '/ portal ..', что привело бы к дальнейшей работе.
Код, который я придумал, чтобы попытаться получить то, что я хочу, следующий:
links = []
for i in range(1,510):
driver = webdriver.Chrome('../chromedriver')
url = "https://www.reclameaqui.com.br/empresa/portal-da-prefeitura-de-sao-paulo/lista-reclamacoes/?pagina=%s" % i
driver.get(url)
soup = BeautifulSoup(driver.page_source)
href = [a['href'] for a in soup.select('a[href]')]
if len(href) in ('321','323','324','325','326'):
for j in range(262,272):
links.append(href[j])
elif len(href) in ('330','331'):
for j in range(264,274):
links.append(href[j])
else:
for j in range(258,274):
links.append(href[j])
driver.close()
time.sleep(2)
'if-else' должен был попытаться получить правильный href из списка возвращенных href, но по какой-то причине он активирует только оператор else, и мне все равно нужно применить некоторую очистку после этого.
Есть способ получить только href (href = "/ portal-da-prefeitura-de-sao-paulo / som-alto-de-agganda-com-autos-falantes_Jg3fS46He5aLo9PZ /") Я хочу от div class = "card-content"?
Есть идеи, что я делал неправильно?