Descarga de artículos de varias URL con periódico.

He estado tratando de extraer varios artículos de una página web (zeit online, periódico alemán), para la cual tengo una lista de urls de los que quiero descargar artículos, por lo que no necesito rastrear la página para obtener urls.

El paquete de periódico para python hace un trabajo increíble para analizar el contenido de una sola página. Lo que tendría que hacer es cambiar automáticamente las direcciones URL, hasta que se descarguen todos los artículos. Desafortunadamente, tengo conocimientos limitados de encoding y no he encontrado una manera de hacerlo. Estaría muy agradecido si alguien pudiera ayudarme.

Una de las cosas que probé fue la siguiente:

import newspaper from newspaper import Article lista = ['url','url'] for list in lista: first_article = Article(url="%s", language='de') % list first_article.download() first_article.parse() print(first_article.text) it returned the following error: unsupported operand type for %:'article' and 'str' 

Esto parece hacer el trabajo, aunque esperaría que hubiera una manera más fácil involucrando menos manzanas y plátanos.

 #!/usr/bin/env python # -*- coding: utf-8 -*- import newspaper from newspaper import Article lista = ['http://www.zeit.de/1946/01/unsere-aufgabe', 'http://www.zeit.de/1946/04/amerika-baut-auf', 'http://www.zeit.de/1946/04/bedingung', 'http://www.zeit.de/1946/04/bodenrecht'] apple = 0 banana = lista[apple] while apple <4 : first_article = Article(url= banana , language='de') first_article.download() first_article.parse() print(first_article.text).encode('cp850', errors='replace') apple += 1 banana = lista[apple] 

    Obtienes la excepción

    devolvió el siguiente error: tipo de operando no admitido para%: ‘article’ and ‘str’

    porque está poblando la variable incorrecta y en la línea 9 debería tener:

    first_article = Article(url="%s" % list, language='de')

    y aquí está el código completo:

     import newspaper from newspaper import Article lista = ['url','url'] for list in lista: first_article = Article(url="%s" % list, language='de') first_article.download() first_article.parse() print(first_article.text)