Получить значения конкректных тегов в парсере
Парсил geeksforgeeks. Чуть изменил код - получил список тем из stackoverflow и из ru.stackoverflow. На сайте stackoverflow - спрашивают больше, но там и много вопросов с "-" рейтингом Получил практически все нужные данные c geeksforgeeks, кроме текстовых данных этих тегов:
<a href="https://www.geeksforgeeks.org/tag/python-vlc-library/" rel="tag">Python vlc-library</a>
Вот код:
import requests
from bs4 import BeautifulSoup
import pandas as pd
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}
questionlist = []
def getQuestions(tag, page ):
url = f'https://www.geeksforgeeks.org/page/{page}/?s=python+{tag}'
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
questions = soup.find_all('article')
for item in questions:
question = {
'tag': tag,
'title': item.find('h2', {'class': 'entry-title'}).text.strip(),
'link': item.find('a')['href'],
'description': item.find('div', {'class': 'entry-summary'}).find('div', {'class': 'excerpt-thumb'}).next_element.next_element.next_element.text,
# 'tags': item.find('footer', {'class': 'entry-meta'}).find('div', {'class': 'practiceButton'}).find('a')['href'].split("/")[-2]
# 'tags ' : item.find('div', {'class': 'entry-summary'}).find('div', {'class': 'excerpt-thumb'}).next_element.next_element.next_element.next_element
}
questionlist.append(question)
# print(questionlist)
return
for x in range(1,3):
getQuestions("enumerate", x)
# getQuestions('parse', x)
df = pd.DataFrame(questionlist)
df.to_excel('geeksforgeeks.xlsx', index=False)
print('Finish.')
В конечном итоге, свел данные в xlsx: https://github.com/Joffrey-ops/Joffrey/blob/main/geeksforgeeks.xlsx Но Как получить данные тегов, которы выше?