我正在尝试使用python鹅提取器从纽约时报中提取文章。
我尝试过使用标准网址检索方式:
g.extract(url=url)
然而,这会产生一个空字符串。所以我通过文档尝试了以下方式:
import urllib2
import goose
url = "http://www.nytimes.com/reuters/2015/12/21/world/africa/21reuters-kenya-attacks-somalia.html?_r=0"
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
response = opener.open(url)
raw_html = response.read()
g = goose.Goose()
a = g.extract(raw_html=raw_html)
a.cleaned_text
同样为“cleaning_text”返回一个空字符串。从网站上检索html。我也尝试过使用请求,但结果相同。
我认为这是一个python鹅问题,因为无法从正在返回的原始数据中提取文章正文。我之前搜索过,但找不到任何可以解决我问题的结果。
答案 0 :(得分:1)
看起来鹅似乎传统上遇到了纽约时报的问题,因为(1)他们将用户重定向到另一个页面来添加/检查cookie(参见下面的卷曲),因为(2)他们实际上没有加载文本页面加载的文章。它们在首次执行广告显示代码后异步执行。
~ curl -I "http://www.nytimes.com/reuters/2015/12/21/world/africa/21reuters-kenya-attacks-somalia.html"
HTTP/1.1 303 See Other
Server: Varnish
Location: http://www.nytimes.com/glogin?URI=http%3A%2F%2Fwww.nytimes.com%2Freuters%2F2015%2F12%2F21%2Fworld%2Fafrica%2F21reuters-kenya-attacks-somalia.html%3F_r%3D0
Accept-Ranges: bytes
Date: Tue, 22 Dec 2015 15:46:55 GMT
X-Varnish: 1338962331
Age: 0
Via: 1.1 varnish
X-API-Version: 5-0
X-PageType: article
Connection: close
X-Frame-Options: DENY
Set-Cookie: RMID=007f01017a275679706f0004;Path=/; Domain=.nytimes.com;Expires=Wed, 21 Dec 2016 15:46:55 UTC