У меня есть этот алгоритм ниже:
from bs4 import BeautifulSoup
import requests
data = [{"operationName": "SearchQuery", "variables": {"query": "Python", "after": None, "first": 2},
"query": "query SearchQuery($query: String!, $first: Int!, $after: ID) {\n questionSearch(query: $query, first: $first, after: $after) {\n count\n edges {\n node {\n id\n databaseId\n author {\n id\n databaseId\n isDeleted\n nick\n avatar {\n thumbnailUrl\n __typename\n }\n rank {\n name\n __typename\n }\n __typename\n }\n content\n answers {\n nodes {\n thanksCount\n ratesCount\n rating\n __typename\n }\n hasVerified\n __typename\n }\n __typename\n }\n highlight {\n contentFragments\n __typename\n }\n __typename\n }\n __typename\n }\n}\n"}]
r = requests.post("https://brainly.com.br/graphql/pt", json=data).json()
p=[]
for item in r[0]['data']['questionSearch']['edges']:
rst=(f"https://brainly.com.br/tarefa/{item['node']['databaseId']}")
p.append(rst)
for ele in p:
r = requests.get(ele).text
soup = BeautifulSoup(r,'html.parser')
for n in soup.find_all('div', attrs={'class': 'brn-content-image'}):
print(n.find('h1').text)
И мне нужно отфильтровать эти 2 HTML
:
<div class="brn-content-image">
<h1 class="sg-text sg-text--large sg-text--regular">
O que é for em python?
</h1>
И:
<div class="brn-content-image">
<h1 class="sg-text sg-text--large sg-text--regular">
Linguagem ( Python )<br /><br />a) Quem foi(ram) o(s) criador(es) do python? <br /><br />b) Cite como se declara uma variáveis:<br /><br />c) O que é uma variável?<br /><br />d) O que é uma função?<br /><br />e) para que serve às { } no python?
</h1>
</div>
Ожидается Выход:
1 h1 - Linguagem (Python)
a) Quem foi (ram) o (s) criador (es) do python?
b ) Скажите, что вы заявляете о себе:
c) Что вы думаете об этом?
г) Вы говорите об этом?
е) Пара служит вам {} нет python?
2 h1 -O que é для em python?
У меня есть 2 HTML
Страница в той же переменной; Проблема в том, что я могу фильтровать только 2 h1 ie >> O que é для em python?
И мне нужно печатать оба! Что я делаю неправильно: