2015-12-22 3 views
1

Я пытаюсь извлечь статьи из The New York Times, используя экстрактор гусиных путов python.Как извлечь статьи python goose с New York Times

Я попытался с помощью стандартного извлечения URL пути:

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 

Снова пустая строка возвращается для «cleaned_text». Html извлекается с веб-сайта. Я также попытался использовать запросы, но тот же результат.

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

+0

Я разрешил его, минуя использование гусака python и вместо этого используя BeautifulSoup. 'BeautifulSoup.opener = urllib2.build_opener (urllib2.HTTPCookieProcessor())' ' ответ = opener.open (URL)' ' raw_html = response.read(). Декодировать ('utf8')' 'soup = BeautifulSoup (raw_html)' 'paragraph = soup.findAll ('p', {'class': 'story-body-text story-content'})' edit: пытаясь заставить формат работать, но увы , надеюсь, это помогает. – Msa

ответ

1

Похоже, что у гуся традиционно были проблемы с New York Times, потому что (1) они перенаправляют пользователей через другую страницу, чтобы добавить/проверить куки (см. Скручивание ниже) и потому что (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 
Смежные вопросы