Web Scraping: отсутствуют некоторые страницы URL - PullRequest
0 голосов
/ 31 мая 2018

Я пытался удалить первые 9 страниц веб-сайта, но, похоже, страницы 5 и 7 отсутствуют.Это делает show python ошибкой атрибута.Тем не менее, я думаю, что функция «if» может решить эту проблему, но я не могу понять код для функции if.Вот мой код

import requests
from bs4 import BeautifulSoup
base_url="http://cbcs.fastvturesults.com/student/1sp15me00"
for page in range(1,10,1):
    r=requests.get(base_url+str(page))
    c=r.content
    soup=BeautifulSoup(c,"html.parser")
    items=soup.find(class_="text-muted")
    if ??????????:
        pass
    else:
        print("{}\n{}".format(items.previous_sibling,items.text))

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Вам не нужно создавать else блок здесь.Достаточно только проверки if items is not None.Попробуйте следующий подход:

items = soup.find(class_="text-muted")
if items:
    print("{}\n{}".format(items.previous_sibling,items.text))
0 голосов
/ 31 мая 2018

Ошибка возникает при попытке доступа к атрибутам items, когда items установлен на None.Это делается, когда BeautifulSoup не может найти ничего с помощью class_="text-muted"

Решение:

if not items:
    continue

Обратите внимание, что pass (из вашего решения) просто пройдеттекущий оператор и перейти к следующей строке в цикле.continue завершит текущую итерацию и перейдет к следующей итерации.

...