Я пытаюсь написать веб-сканер, используя Beautifulsoup для извлечения имен генов из https://www.ncbi.nlm.nih.gov/gene/?term=Celiac+disease
Мой код может получить желаемый результат с первой страницы, но я не знаю, как написатькод для перехода моей программы на следующую страницу.После нажатия кнопки «Далее» я получаю новый адрес, который не имеет ничего общего с предыдущей страницей.Например, первая страница имеет адрес https://www.ncbi.nlm.nih.gov/gene/?term=Celiac+disease,, но адрес следующей страницы - https://www.ncbi.nlm.nih.gov/gene (хотя все еще отображаются результаты, связанные с целиакией, хотя)
Я посмотрел в Google иstackoverflow, чтобы увидеть, есть ли какие-либо статьи, связанные с этой проблемой.Но я мог только найти статьи о страницах с похожими адресами и (для меня) логически следить за их треками.
from bs4 import BeautifulSoup
from urllib.request import urlopen
gene_result = []
url = "https://www.ncbi.nlm.nih.gov/gene/?term=Celiac+disease"
html = urlopen(url).read()
soup = BeautifulSoup(html, "html5lib")
tbody = soup.find("tbody")
a_href = tbody.find_all("a")
for x in a_href:
gene = x.contents[0]
gene_result.append(gene)
print(gene_result)
Код отлично работает, сканируя первую страницу, и я получил хороший результат:
['CTLA4', 'HLA-DQA1', 'IL2', 'IL21', 'CCR3', 'CELIAC2', 'ATXN2', 'SH2B3', 'HLA-DQB1', 'CELIAC5', 'TAGAP', 'CELIAC7', 'CELIAC13', 'CELIAC12', 'CELIAC11', 'CELIAC10', 'CELIAC9', 'CELIAC8', 'CELIAC6', 'KIAA1109']
Может ли кто-нибудь помочь мне решить эту проблему?