Я рассмотрел другие подобные проблемы.Я думаю, что мой отличается тем, что я сначала захожу на известный веб-сайт, а затем беру ссылки на отдельные файлы и сохраняю их в список, а затем извлекаю файлы один за другим.Я создаю код, который будет принимать URL-адрес веб-сайта, а затем сканировать этот веб-сайт на наличие необходимых ссылок для массовой загрузки файлов вместо того, чтобы нажимать на каждую ссылку и загружать по одной для повторяющейся задачи на конец месяца.Эти тематические ссылки сохраняются в список univ_list.Я использую цикл while.
Для этого месяца необходимо загрузить 164 ссылки.Я использую объединение с базовым URL, http://www.linksneeded.com/ + часть файла (поскольку каждый файл имеет свой фрагмент головоломки, например, Это первый файл .xls), поэтому он будет выглядеть следующим образом: http://www.linksneeded.com/This - это первый файл .xls.Начало полного местоположения каждого файла остается неизменным, пока меняются отдельные имена файлов, которые я сохранил в univ_list.Мне нужен первый проход для использования univ_list [1], второй для использования univ_list [2] ..... вплоть до 164 (и это число меняется для сайта и каждого месяца) univ_list [164].
Я попытался установить другую переменную и выполнить + = 1 для каждого цикла, но получил неверный синтаксис для этой попытки: print (page_retrieve + univ_list + = 1).Я установил его для печати, чтобы проверить вывод.
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import os
univ_list.clear()
page_retrieve = input('Enter page URL to retrieve: ')
page = requests.get(page_retrieve)
type(page)
page.status_code == requests.codes.ok
print()
print('File retrieval success:', page.status_code == requests.codes.ok)
links = 1
print()
if page.status_code != 200:
print('404 Client Error: URL Not Found for: ', (page_retrieve))
print('Data file non existent. Please review file URL for accuracy.')
if page.status_code == 200:
univ_list = []
html = urlopen(page_retrieve)
bsObj = BeautifulSoup(html, "html.parser")
for link in bsObj.findAll("a"):
if 'href' in link.attrs:
print(link.attrs['href'], '\n')
univ_list.append(link.attrs['href'])
while links < len(univ_list):
print(page_retrieve + univ_list[2])
links = links + 1
print(links)
print()
print('Code complete')
Я получаю полный путь к файлу для 2-го файла, просто чтобы показать, что мой код работает до этого момента, но не могу понять, как увеличить список univ_listзначение, чтобы пройти через каждую ссылку.Как только я смогу получить приращение значений univ_list, я собираюсь добавить извлекаемый фрагмент, используя разработанный мной метод открытия, записи и закрытия, который, как я знаю, работает в другом фрагменте кода, который я разработал.Все это делается для того, чтобы автоматизировать загрузку файлов на нескольких веб-сайтах в конце месяца, когда я получаю данные, которые я затем использую для составления отчетов о соблюдении политик моей компании.Я попытался сохранить ссылки в текстовом файле, но получил только одну строку со всеми 164 ссылками, поэтому просмотрел списки и теперь столкнулся с этой проблемой.