Python получить статус заголовка для каждой ссылки ahref, найденной в классе, и распечатать ссылку с кодом статуса - PullRequest
1 голос
/ 06 марта 2020

Я пытаюсь извлечь все ссылки href, найденные в моем html в определенном классе, и распечатать их вместе со статусом заголовка сервера.

Чтобы найти каждую ссылку Ahref, у меня есть следующее

for href in soup.find_all('section', class_='holder'):
    for a in href.find_all('a'):
        if a.get('href') == '/':
            continue
        else:
            print(a.get('href'))

Это печатает все URL в порядке, но я также хочу напечатать статус заголовка сервера для каждого рядом с каждым URL.

Я пробовал что-то подобное, что не работает:

for href in soup.find_all('section', class_='holder'):
    for a in href.find_all('a'):
        headers = requests.head('a')
        if a.get('href') == '/':
            continue
        else:
            print(a.get('href'), (headers))

Мой желаемый вывод:

https://www.exampleurlone.com/urlone 200
https://www.exampleurlone.com/urltwo 200
https://www.exampleurlone.com/urlthree 404

Можно ли это сделать?

1 Ответ

1 голос
/ 06 марта 2020

Вам, вероятно, нужно status_code.

Пример:

for href in soup.find_all('section', class_='holder'):
    for a in href.find_all('a'):
        if a.get('href') == '/':
            continue
        else:
            headers = requests.head(a.get('href'))
            print(a.get('href'), (headers.status_code))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...