Я занимаюсь веб-сайтом с 122 различными страницами с 10 записями на страницу. При каждом запуске код разбивается на случайные страницы, на случайные записи. Я могу запустить код на url один раз, и он работает, а в других случаях он не работает.Различные результаты от BeautifulSoup каждый раз
def get_soup(url):
soup = BeautifulSoup(requests.get(url).content, 'html.parser')
return soup
def from_soup(soup, myCellsList):
cellsList = soup.find_all('li', {'class' : 'product clearfix'})
for i in range (len(cellsList)):
ottdDict = {}
ottdDict['Name'] = cellsList[i].h3.text.strip()
Это только часть моего кода, но здесь происходит ошибка. Проблема в том, что когда я использую этот код, тэг h3 не всегда появляется в каждом элементе списка cellList. Это приводит к ошибке NoneType при запуске последней строки кода. Тем не менее, тег h3 всегда присутствует в HTML, когда я просматриваю веб-страницу.
same comparison made from subsequent soup request
Что может быть причиной этих различий, и как я могу избежать этой проблемы? Мне удалось запустить код успешно на время, и он, кажется, внезапно прекратил работать. Код способен царапать некоторые страницы без проблем, но он случайно не регистрирует h3-теги на случайных позициях на случайных страницах.
Страница 1 из сайта, который выскоблил, можно найти на странице https://www.atcc.org/Products/Cells_and_Microorganisms/Cell_Lines/Human/Alphanumeric.aspx ?. –
Вы пытались использовать парсер 'lxml'? – bernie
Да, проблема все еще сохраняется даже с парсером lxml. –