Почему я получаю сообщение об ошибке после очистки последнего элемента веб-страницы? - PullRequest
0 голосов
/ 01 мая 2020

Я создал программу, которая извлекает названия продуктов и цены из newEgg, однако после обработки последнего продукта на веб-странице я получаю сообщение об ошибке «Ошибка атрибута: объект« Нетипа »не имеет атрибута« сильный ». I» Я вполне уверен, что это ошибка нулевого указателя, поскольку l oop проходит через все элементы веб-страницы, однако я попытался выполнить итерации для itemContainers-1, а также установить точку останова в l oop для itemcontainers. -1, и это все еще не работает. Кроме того, куда я должен поместить Client.close (), в конце правильно?

import bs4
#uReq is our arbitrary shorthand for urllib.request
import urllib
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

#The URL we plan to use
my_url = 'https://www.newegg.com/'

#uReq(my_url) opens up web client
Client = uReq(my_url)
#uClient.read dumps everything out of the url
html_page = Client.read()
Client.close()


page_soup = soup(html_page, "html.parser")
itemContainers= page_soup.findAll("div", {"class":"item-container"})

for i in range(0,len(itemContainers)):
    if i is len(itemContainers)-1:
        {
            breakpoint
        }
    #itemTitles is a list of all of the titles found on the web page
    itemTitles = page_soup.findAll("a", {"class": "item-title"})

    divWithPriceInfo = itemContainers[i].find("ul", "price")
    left_Dec = divWithPriceInfo.strong.text
    right_Dec = divWithPriceInfo.sup.text
    stringStrong = str(left_Dec)
    stringSup = str(right_Dec)
    print(itemTitles[i].text)
    print(stringStrong + stringSup)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...