Загрузите несколько URL — адресов из массива python

#python #python-3.x #web-scraping #beautifulsoup #python-requests

Вопрос:

Попытка извлечения URL-адресов из массива python. Я пытаюсь использовать цикл for, но немного запутался в следующих шагах. URL-адреса были проанализированы с внешнего сайта и сохранены в переменной files.

 import requests from bs4 import BeautifulSoup as bs  r = requests.get('https://earth-info.nga.mil/index.php?dir=coordsysamp;action=gars-20x20-dloads') soup = bs(r.content, 'html.parser') files = ['https://earth-info.nga.mil/'   i['href'] for i in soup.select('area')]  print(files)  

Комментарии:

1. for file in files: print(file)

2. Я пытаюсь использовать библиотеку запросов, эта строка просто выводит каждый URL-адрес в консоли, нет?

3. ДА. Это правильно. Что ты хочешь сделать? Вы хотите повторить и извлечь thml из этих URL-адресов?

4. Если вы хотите использовать URL-адреса для извлечения html-кода из них, просто сделайте это for file in files: r = requests.get(file)

5. Я пытаюсь загрузить URL-адреса, которые мне удалось запросить в массиве файлов. Я хочу автоматизировать эту задачу, так как в этом массиве файлов более 300 URL-адресов. Также там, где я мог бы выбрать путь к тому месту, где они должны быть расположены.

Ответ №1:

 import requests from bs4 import BeautifulSoup as bs  r = requests.get('https://earth-info.nga.mil/index.php?dir=coordsysamp;action=gars-20x20-dloads') soup = bs(r.content, 'html.parser') files = ['https://earth-info.nga.mil/'   i['href'] for i in soup.select('area')]  for file in files:  r = requests.get(file)    # CODE HERE TO AUTOMATE WHATEVER YOU WANT TO DO