我一直在尝试从网页(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]
你得到异常
它返回了以下错误:%:"文章"和"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)