Я новый участник Stack Overflow, поэтому, пожалуйста, дайте мне знать, если и как я могу улучшить этот вопрос.Я работаю над сценарием Python, который берет ссылку на домашнюю страницу веб-сайта, а затем выполняет поиск определенного URL-адреса по всему веб-сайту (а не только на этой первой домашней странице).Причина этого заключается в том, что моя исследовательская группа хотела бы запросить список веб-сайтов для URL-адреса конкретной базы данных, не просматривая каждую страницу, чтобы найти ее.По сути, это задача сказать: «Этот сайт ссылается на эту базу данных? Если да, то сколько раз?»а затем сохранить эту информацию для наших записей.До сих пор я мог использовать ресурсы на SO и других страницах для создания сценария, который будет очищать HTML-код конкретной веб-страницы, на которую я ссылался, и я включил этот сценарий для проверки.
import requests
from bs4 import BeautifulSoup
url = raw_input("Enter the name of the website you'd like me to check, followed by a space:")
r = requests.get(url)
soup = BeautifulSoup(r.content, features='lxml')
links = soup.find_all("a")
for link in links:
if "http" and "dataone" in link.get("href"):
print("<a href='%s'>%s</a>" %(link.get("href"), link.text))
Как вы можете видеть, я ищу URL-ссылку на конкретную базу данных (в данном случае DataONE) после того, как пользователь дал URL-адрес веб-сайта.Этот сценарий прекрасно работает, но он очищает только ту страницу, на которую я ссылаюсь, - НЕ весь сайт.Поэтому, если я предоставлю веб-сайт: https://www.lib.utk.edu/,, он будет искать только ссылки на DataONE на этой странице, но не будет искать ссылки на всех страницах веб-сайта UTK Libraries.** У меня пока недостаточно высокой репутации на этом сайте, чтобы публиковать фотографии, поэтому я не могу включить изображение этого сценария "в действии".**
Я тщательно изучил это на SO, чтобы попытаться понять, но ни один из заданных вопросов или ответов пока не относится к моей конкретной проблеме.
Примеры:
1. Как зациклить очистку данных для нескольких страниц на сайте, используя python и beautifulsoup4 : в этом конкретном вопросе ОП может узнать, сколько страниц онинужно искать, потому что их проблема относится к конкретному поиску, сделанному на сайте.Однако в моем случае я не буду знать, сколько страниц на каждом веб-сайте.
2. Используйте BeautifulSoup для циклического просмотра и получения определенных URL-адресов : Опять же, это касается анализа URL-адресов, ноон не просматривает весь веб-сайт в поисках URL.
3. Как перебрать каждую страницу веб-сайта для очистки веб-страниц с помощью BeautifulSoup : ОП здесь, похоже, борется с той же проблемой, что и у меня, но принятый ответ не дает достаточно подробностей для понимания того, КАК подходить к такой проблеме.
Я изучил документацию BeautifulSoup, но я не нашел никакой помощи в очистке всего сайта с одного URL-адреса (и не зная, сколько всего страниц на сайте).Я изучал использование Scrapy, но я не уверен, что это то, что мне нужно для моих целей в этом проекте, потому что я не пытаюсь загружать или хранить данные - я просто пытаюсь увидеть, когда и где находится определенный URLссылка на весь сайт.
Мой вопрос: возможно ли сделать что-то подобное с BeautifulSoup, и если да, то можете ли вы предложить, как мне изменить текущий код для решения моей исследовательской задачи?Или мне нужна другая программа?