图书馆:报纸(报纸3K)试图从新闻(来源)网站主页解析链接



我试图从使用名为python library生成的一组链接中解析

目标:

解析新闻网站的主页(或特定页面)的每个链接。

问题:

  1. 我在尝试将"文章_link"传递到" Article()"方法中时会生成一个属性。
  2. 使用单独的代码来解析"纽约时报"中的单个链接,文本打印的文本并未打印整个文章。

代码生成问题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:...libsite-packagesnewspaperarticle.py", line 60, in __init__
    scheme = urls.get_scheme(url)
  File "C:...libsite-packagesnewspaperurls.py", line 279, in get_scheme
    return urlparse(abs_url, **kwargs).scheme
  File "C:...liburllibparse.py", line 367, in urlparse
    url, scheme, _coerce_result = _coerce_args(url, scheme)
  File "C:...liburllibparse.py", line 123, in _coerce_args
    return _decode_args(args) + (_encode_result,)
  File "C:...liburllibparse.py", line 107, in _decode_args
    return tuple(x.decode(encoding, errors) if x else '' for x in args)
  File "C:...liburllibparse.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)

我还尝试了在文档中检查的这种" fullText"方法来打印文本:

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输出:有关截短的输出

,请参见此糊剂

印刷文本:请参阅此印刷文本未打印整个文章

任何帮助都将不胜感激。

nytimes自2014年以来改变了它的内部HTML结构。如果您尝试在2014年之前发表文章,Debind 3k将正常工作。

其他要考虑的事情:

  • 1980年的文章不可用。
  • 1970年之前的文章没有数字化(1964年除外)。
  • 1970- 1979年的文章在中间有很多单词。
  • 如果您使用dequiend3k解析,几篇文章将仅包含" nytimes.com不再支持Internet Explorer 9或更早。请升级您的浏览器。"
  • 很多文章将在中间插入以下文本:

" n nnnewsletter注册继续阅读主要故事,每个工作日注册"今日新闻通讯",获取专栏文章的发人深省的评论,《时报》编辑委员会,《泰晤士报》编辑委员会以及来自世界各地的贡献者。请验证单击框,您不是机器人。无效的电子邮件地址。请重新输入。您必须选择一个新闻通讯。注册您将收到包含《纽约时报》的新闻内容,更新和促销的电子邮件。您可以随时选择退出。您同意偶尔收到《纽约时报》产品和服务的特别优惠。谢谢您的订阅。发生了错误。请稍后再试。查看所有纽约时报新闻通讯。 n n"

" n nnnewsletter注册继续阅读主要故事,请单击框来验证您不是机器人。无效的电子邮件地址。请重新输入。您必须选择一个新闻通讯来订阅。注册您将接收包含新闻内容,更新和促销的电子邮件。发生。请稍后再试。查看所有纽约时报新闻通讯。 n"

  • 大多数博客(博客出现在2010年)也将插入不希望的文本。

如果您可以使用1990年至2016年的数据,请检查本文中使用的数据集:https://arxiv.org/abs/1703.00607可以在线提供。

如果您需要更新的文章,我应该写自己的解析器。我正在研究它,但我还没有完成。

相关内容

  • 没有找到相关文章

最新更新