Загрузите несколько PDF-файлов из списка ссылок, требующих входа в систему (Python) - PullRequest
1 голос
/ 21 апреля 2020

Это мой первый пост здесь. Я пытаюсь загрузить несколько файлов PDF с веб-сайта, который требует входа в систему. Мне удалось получить все ссылки, содержащие нужные мне PDF-файлы, и сохранить их в списке. Однако я не могу скачать PDF-файлы. Ниже вы можете найти мой код. Обратите внимание, что я не включил несколько сведений, таких как исходный веб-сайт и т. Д. c.

import http.cookiejar as cookielib
import mechanize

br = mechanize.Browser()
cookiejar = cookielib.LWPCookieJar()
br.set_cookiejar(cookiejar)

br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time = 1)
br.addheaders = [( 'User-Agent', headers)]
br.open(mainwebsite)

br.select_form(nr=0)
br.form['username'] = myusername
br.form['password'] = mypassword
br.submit(id="loginbtn")

url = br.open(websitewherepdfsarelocated)
returnPage = url.read()
soup = BeautifulSoup(returnPage)
links = soup.findAll('a')
test=[]
for link in links:
    test.append(link.get('href'))
for i in test[:]:
    if i is None:
        test.remove(i)
    elif i.startswith('https://....(website).....view.php?id='): # links which pdf are 
        print(i)
    else:
        test.remove(i)

Так что теперь у меня есть список ссылок в «тестовом» списке, который я хочу загрузить. Пытаясь найти решение, я наткнулся на pdfkit и попытался получить pdf ссылки, которая была получена ранее (была сохранена в тесте), используя приведенный ниже код, но я получал pdf, показывающий страницу входа в систему.

import pdfkit
pdfkit.from_url("https://......(website)......view.php?id=........", 'out.pdf')

Заранее благодарю!

...