Я работаю над проектом, использующим Python (3.7) и BeautifulSoup (4) для реализации скребкового решения.
Примечание: Я искал, чтобы найти решениек моей проблеме, но я не мог найти никакого решения, потому что оно отличается от того, что обычно нам нужно для очистки.Поэтому, не отмечайте это как дубликат, пожалуйста!
Этот проект состоит из двух частей:
- Мы взяли URL-адреса результатов поиска Google (первые 5например) на основе поискового термина.
- Затем мы должны очистить URL-адреса этих результатов поиска, чтобы получить информацию, связанную с поисковым термином, с этих страниц, поэтому мы не знаем фактические классы / теги.страниц этих результатов.
Итак, как мы можем получить релевантную информацию для поискового запроса с веб-страниц, не зная реальных тегов / классов?
Вот что я сделал до сих пор:
soup = BeautifulSoup(driver.page_source, 'lxml')
result_div = soup.find_all('div', attrs={'class': 'g'})
links = []
titles = []
descriptions = []
for r in result_div:
# Checks if each element is present, else, raise exception
try:
link = r.find('a', href=True)
title = None
title = r.find('h3')
if isinstance(title, Tag):
title = title.get_text()
description = None
description = r.find('span', attrs={'class': 'st'})
if isinstance(description, Tag):
description = description.get_text()
# Check to make sure everything is present before appending
if link != '' and title != '' and description != '':
links.append(link['href'])
titles.append(title)
descriptions.append(description)
# Next loop if one element is not present
except Exception as e:
print(e)
continue