Как я могу использовать библиотеку газет для веб-сайтов, которые требуют аутентификации? - PullRequest
0 голосов
/ 11 июня 2018

Как я могу использовать библиотеку газет для веб-сайтов, которые нуждаются в аутентификации?Я использую библиотеку magazine3k , чтобы загрузить html нескольких статей с разных новостных сайтов (которые пока работают просто отлично).Однако, поскольку мне нужен полный контент, мне нужно будет пройти проверку подлинности (имя пользователя, пароль) перед запросом HTML.Я был бы признателен за любые указатели в правильном направлении!

Я предполагаю, что это должно произойти до того, как я буду использовать magazine.build ()?

(я просто хотел сказать, что этов первый раз я пишу на python (или просто вообще пишу что-нибудь), так что любая помощь будет очень полезна)

import newspaper #import newspaper library
from newspaper import news_pool

guardian = newspaper.build('https://www.theguardian.com/uk-news/all', language='en', memoize_articles=True)
telegraph = newspaper.build('https://www.telegraph.co.uk/news/uk/', language='en', memoize_articles=True)
dagbladet = newspaper.build('https://www.svd.se/sverige', language='sv', memoize_articles=True)
dagensnyheter = newspaper.build('https://www.dn.se/nyheter/sverige/', language='sv', memoize_articles=True)

allpapers = [guardian, telegraph, dagbladet, dagensnyheter]

for papers in allpapers:
    newpathpaper = r'/Users/articles/' + today + "/" + naming #naming is just a variable from further up that gives the name of each newspaper 
    if not os.path.exists(newpathpaper):
        os.makedirs(newpathpaper)

    #parsing, downloading and creating files for articles
    pointer = 0
    while(papers.size() > pointer):
        papers_article = papers.articles[pointer]
        papers_article.download()
        if papers_article.download_state == 2: #checking if article has been downloaded
            time.sleep(2)
            papers_article.parse()
            print(papers_article.url)

            #receiving publishing date so it is comparable
            published_today = papers_article.publish_date #newspaper extractor
            published = str(published_today)[0:10] 

            #writing html
            if published == today: #today was declared earlier
                 f = open('articles/%s/%s/%s_article_%s.html' %(today, naming, naming, pointer), 'w+') #writing html file
                f.write(papers_article.html)
                print("written successfully")
                count_writes +=1
            else:
                print("not from today")

        else: 
            print("article %s" %pointer)
            print(papers_article.url)
            print("Has not downloaded!")
        pointer += 1
...