Я пытаюсь проанализировать набор ссылок, созданных с помощью библиотеки Python, которая называется Газета
Цель:
Чтобы проанализировать каждую ссылку с главной страницы (или конкретная страница, такая как категория) новостного сайта.
Проблема:
- Я генерирую AttributeError при попытке передать ссылку article_link в метод Article ().
- Используя отдельный код для анализа одной ссылки из «Нью-Йорк Таймс», напечатанный текст не печатает всю статью.
Проблема создания кода 1:
import newspaper
from newspaper import Article
nyt_paper = newspaper.build(
'http://nytimes.com/section/todayspaper', memoize_articles=False)
print(nyt_paper.size())
processed_link_list = []
for article_link in nyt_paper.articles:
article = Article(url=article_link)
article.download()
article.html
article.parse()
print(article.authors)
processed_link_list.append(article_link)
if len(nyt_paper.size()) is len(processed_link_list):
print('All Links Processed')
else:
print('All Links **NOT** Processed')
Вывод ошибки:
Traceback (most recent call last):
File "nyt_today.py", line 31, in <module>
article = Article(url=article_link)
File "C:\...\lib\site-packages\newspaper\article.py", line 60, in __init__
scheme = urls.get_scheme(url)
File "C:\...\lib\site-packages\newspaper\urls.py", line 279, in get_scheme
return urlparse(abs_url, **kwargs).scheme
File "C:\...\lib\urllib\parse.py", line 367, in urlparse
url, scheme, _coerce_result = _coerce_args(url, scheme)
File "C:\...\lib\urllib\parse.py", line 123, in _coerce_args
return _decode_args(args) + (_encode_result,)
File "C:\...\lib\urllib\parse.py", line 107, in _decode_args
return tuple(x.decode(encoding, errors) if x else '' for x in args)
File "C:\...\lib\urllib\parse.py", line 107, in <genexpr>
return tuple(x.decode(encoding, errors) if x else '' for x in args)
AttributeError: 'Article' object has no attribute 'decode'
Проблема создания кода 2:
from newspaper import Article
from newspaper import fulltext
import requests
nyt_url = 'https://www.nytimes.com/2019/02/26/opinion/trump-kim-vietnam.html'
article = Article(nyt_url)
article.download()
print(article.html)
article.parse()
print(article.authors)
print(article.text)
Я также пытался использовать этот метод «полный текст», приведенный в документации для печати текста:
article_html = requests.get(nyt_url).text
full_text = fulltext(article_html)
print(full_text)
Однако, хотя текст статьи Весь выводится в
print(article.html)
,
print(article.text)
не печатает все это.Исходную ссылку, вывод HTML и вывод печатного текста можно увидеть ниже:
Ссылка: https://www.nytimes.com/2019/02/26/opinion/trump-kim-vietnam.html
Вывод Html: см. Эту вставку для усеченного вывода
Печатный текст: см. Этот печатный текст не печатает всю статью
Любая помощь будет принята с благодарностью.