Извлечение URL-адресов с веб-сайта на основе позицииPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Извлечение URL-адресов с веб-сайта на основе позиции

Сообщение Гость »


Я хочу извлечь URL-адреса с веб-сайта (например, numpy); а затем сгруппируйте их в соответствии с их положением, например, заголовок, тело, боковые панели, нижний колонтитул и т. д.

Я написал свой код ниже, и он не работает должным образом. Он просто ковыряет тело и это даже нехорошо:

запросы на импорт из bs4 импорт BeautifulSoup # Функция для извлечения URL-адресов с веб-страницы и группировки их по позиции защита Extract_and_group_urls (url): ответ = запросы.получить (URL) суп = BeautifulSoup(response.text, 'html.parser') # Извлечь все URL-адреса с веб-страницы all_urls = [a['href'] для a в супе.find_all('a', href=True)] # Группируйте URL-адреса по их положению (например, заголовок, нижний колонтитул, тело) url_groups = { 'header_urls': [], 'footer_urls': [], 'body_urls': [] } для URL в all_urls: # Проверьте, содержит ли URL-адрес определенные ключевые слова, чтобы определить его позицию если «заголовок» в url.lower(): url_groups['header_urls'].append(url) Элиф 'нижний колонтитул' в url.lower(): url_groups['footer_urls'].append(url) еще: url_groups['body_urls'].append(url) вернуть url_groups # Пример использования url = 'https://numpy.org' # Замените это URL-адресом веб-сайта, который вы хотите очистить. url_groups = extract_and_group_urls (url) # Распечатать сгруппированные URL-адреса print('URL-адреса заголовков:', url_groups['header_urls']) print('URL-адреса нижнего колонтитула:', url_groups['footer_urls']) print('URL-адреса тела:', url_groups['body_urls']) И мой результат:

URL-адреса заголовков: [] URL-адреса нижнего колонтитула: [] URL-адреса тела: ['/install', 'https://numpy.org/doc/stable', '/learn', '/community', '/about', '/news', '/contribute', '/ pt/', '/ja/', '/', '/install', 'https://numpy.org/doc/stable', '/learn', '/community', '/about', '/ новости', '/contribute', '/pt/', '/ja/', '/news/#releases', '/news', '/news', 'https://github.com/numpy/numpy /blob/main/LICENSE.txt', 'https://github.com/numpy/numpy', '/community', '#', '#', '#', '#', '#', ' http://qutip.org'] Из заголовка просто выбирается /install, /learn. В заголовочном файле должны были быть правильные URL-адреса. Я сделал то же самое для нижнего колонтитула.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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