В настоящее время я пытаюсь убрать последовательности белков из базы данных ncbi.В этот момент пользователь может искать белок, а я могу получить ссылку на первый результат, который выдает база данных.Однако, когда я запускаю это через красивый суп, суп не соответствует элементу проверки хрома и не имеет последовательности вообще.
Вот мой текущий код:
import string
import requests
from bs4 import BeautifulSoup
def getSequence():
searchProt = input("Enter a Protein Name!:")
if searchProt != '':
searchString = "https://www.ncbi.nlm.nih.gov/protein/?term=" + searchProt
page = requests.get(searchString)
soup = BeautifulSoup(page.text, 'html.parser')
soup = str(soup)
accIndex = soup.find("a")
accessionStart = soup.find('<dd>',accIndex)
accessionEnd = soup.find('</dd>', accessionStart + 4)
accession = soup[accessionStart + 4: accessionEnd]
newSearchString = "https://www.ncbi.nlm.nih.gov/protein/" + accession
try:
newPage = requests.get(newSearchString)
#This is where it fails
newSoup = BeautifulSoup(newPage.text, 'html.parser')
aaList = []
spaceCount = newSoup.count("ff_line")
print(spaceCount)
for i in range(spaceCount):
startIndex = newSoup.find("ff_line")
startIndex = newSoup.find(">", startIndex) + 2
nextAA = newSoup[startIndex]
while nextAA in string.ascii_lowercase:
aaList.append(nextAA)
startIndex += 1
nextAA = newSoup[startIndex]
return aaList
except:
print("Please Enter a Valid Protein")
Я пытался запустить его с помощью поиска «p53» и попал по ссылке: здесь
Я просмотрел длинный ряд записей веб-страниц на этом сайте и много пробовалвещей, включая установку селена и использование различных парсеров.Я все еще не понимаю, почему они не совпадают.(Извините, если это повторный вопрос, я очень плохо знаком с веб-скрепингом и в настоящее время у меня сотрясение мозга, поэтому я ищу немного отзывов по отдельным случаям)