用报纸从多个网址下载文章

时间:2015-01-15 11:32:54

标签: python python-2.7 parsing web-scraping python-newspaper

我一直试图从网页(zeit online,德国报纸)中提取多篇文章,我有一个我要下载文章的网址列表,所以我不需要抓取页面网址。

python的报道包在解析单个页面的内容方面做得非常棒。我需要做的是自动更改网址,直到下载所有文章。不幸的是,我的编码知识有限,并且没有找到办法。如果有人能帮助我,我将非常感激。

我尝试的其中一件事如下:

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'

这似乎可以完成这项工作,虽然我希望有更简单的方法来减少苹果和香蕉的使用。

#!/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]

1 个答案:

答案 0 :(得分:0)

你得到了例外

  

它返回了以下错误:%:'article'和'str'

的不支持的操作数类型

因为你填充了错误的变量而在第9行你应该有:

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

这是完整的代码:

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)