Веб-сканер, ориентированный на URL-адресPython

Программы на Python
Ответить
Anonymous
 Веб-сканер, ориентированный на URL-адрес

Сообщение Anonymous »

У меня есть небольшой код, который я пытаюсь создать, чтобы взять определенную страницу tumblr, а затем последовательно сканировать ее по посту # и проверять, существует ли страница. Если это произойдет, он напечатает этот полный URL-адрес в текстовый файл, а если нет, то пропустит.
Я смог определить, что если сообщение не существует, то tumblr будет иметь определенное имя класса для div, где будет отображаться диалоговое окно «публикация не найдена», что означает, что я могу проверить, существует ли этот div, а если нет, то он сохранит URL-адрес.
Проблема, с которой я сталкиваюсь, заключается в том, что BeautifulSoup, Selenium и Драматург не хочет работать ни на что. Я пробовал делать отложенный запуск, если страница все еще загружалась, но у меня заканчиваются идеи. У кого-нибудь есть какие-нибудь мысли по этому поводу?
Код довольно простой: он должен проверять код состояния 200, чтобы убедиться, что сервер обработал и ответил, а затем проверяет элементы страницы на наличие имени класса. Следующие шаги зависят от результатов этого логического теста.
import requests
from bs4 import BeautifulSoup

def page_has_div_class(url, class_name):
try:
r = requests.get(url, timeout=10)
if r.status_code != 200:
return False # Page not valid

soup = BeautifulSoup(r.text, "html.parser")

# Find ANY whose full class attribute matches exactly
for div in soup.find_all("div"):
if div.get("class") and " ".join(div.get("class")) == class_name:
return True

return False

except Exception as e:
print("Error:", e)
return False

url = "https://www.tumblr.com/BLOG_NAME_TO_SCAN/posts/1"
class_name = "XLWxA H4bQ8"

if page_has_div_class(url, class_name):
print("Found the div class!")
else:
print("Class not found on page.")


Подробнее здесь: https://stackoverflow.com/questions/798 ... eb-crawler
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»