Я пытался получить все подробности домашней страницы новостной статьи. В конце я хочу создать что-то, что дало бы мне наиболее часто используемые слова из всех новостных статей. Чтобы сделать это, я решил, что сначала мне понадобятся ссылки, чтобы потом нажимать на них один за другим.
С большой помощью от другого пользователя этой платформы, вот код, который я получил прямо сейчас:
from bs4 import BeautifulSoup
from selenium import webdriver
url = 'https://ad.nl'
# launch firefox with your url above
# note that you could change this to some other webdriver (e.g. Chrome)
driver = webdriver.Chrome()
driver.get(url)
# click the "accept cookies" button
btn = driver.find_element_by_name('action')
btn.click()
# grab the html. It'll wait here until the page is finished loading
html = driver.page_source
# parse the html soup
soup = BeautifulSoup(html.lower(), "html.parser")
articles = soup.findAll("article")
for i in articles:
article = driver.find_element_by_class_name('ankeiler')
hrefs = article.find_element_by_css_selector('a').get_attribute('href')
print(hrefs)
driver.quit()
Это дает мне первый href, я думаю, но он выиграл Перебери следующие. Это просто дает мне первый href столько раз, сколько нужно для итерации. Кто-нибудь знает, как я могу сделать это go до следующего href вместо того, чтобы застрять на первом?
PS. если у кого-то есть какие-либо предложения относительно дальнейшей работы над моим небольшим проектом, не стесняйтесь делиться ими, поскольку у меня еще много вещей, которые нужно узнать о Python и программировании в целом.