gpt4 book ai didi

带有网络存档的 Python 报纸(回归机器)

转载 作者:行者123 更新时间:2023-12-04 13:48:04 24 4
gpt4 key购买 nike

我正在尝试使用 Python 库 newspaper来自 Wayback Machine 的文件,存储已存档的旧版本网站。理论上,可以从这些文件中查询和下载旧的新闻文章。
例如,下面的代码查询文件 CNBC 对于特定的存档日期。

import newspaper
url = 'http://web.archive.org/web/20161201123529/http://www.cnbc.com/'
paper = newspaper.build(url, memoize_articles = False )
尽管存档的网站本身包含指向 2016 年 12 月 1 日的实际新闻文章的链接,但报纸模块似乎没有提取它们。相反,您会获得如下网址:
https://blog.archive.org/2016/10/23/defining-web-pages-web-sites-and-web-captures/
这些不是来自这个 CNBC 存档版本的实际文章。然而,报纸与今天的 CNBC 版本配合得很好。 .
我想它会因为 url 的格式(包含两个 http s)而感到困惑。有人对如何从 Wayback Machine 中提取文章有任何建议吗?文件?

最佳答案

这是一个有趣的问题,我将把它添加到我的 Newspaper Usage Overview 中。 GitHub 上提供的文档。
我尝试使用 news.build,但我无法让它正常工作,所以我使用了报纸 Source。

from time import sleep
from random import randint
from newspaper import Config
from newspaper import Source

USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0'

config = Config()
config.browser_user_agent = USER_AGENT
config.request_timeout = 10

wayback_cnbc = Source(url='https://web.archive.org/web/20180301012621/https://www.cnbc.com/', config=config,
memoize_articles=False, language='en', number_threads=20, thread_timeout_seconds=2)

wayback_cnbc.build()
for article_extract in wayback_cnbc.articles:
article_extract.download()
article_extract.parse()

print(article_extract.publish_date)
print(article_extract.title)
print(article_extract.url)
print('')

# this sleep timer is helping with some timeout issues
# that were happening when querying
sleep(randint(1,3))
上面的例子输出这个:
None
Media
https://web.archive.org/web/20180301012621/https://www.cnbc.com/media/

None
CNBC Video
https://web.archive.org/web/20180301012621/https://www.cnbc.com/video/

2017-11-08 00:00:00
CNBC Healthy Returns
https://web.archive.org/web/20180301012621/https://www.cnbc.com/2017/11/08/healthy-returns.html

2018-02-28 00:00:00
Markets in Asia decline as dollar steadies; Nikkei falls 307 points
https://web.archive.org/web/20180301012621/https://www.cnbc.com/2018/02/28/asia-markets-stocks-dollar-and-china-caixin-pmi-in-focus.html

2018-02-28 00:00:00
S&P 500 rises, but on track to snap longest monthly win streak since 1959
https://web.archive.org/web/20180301012621/https://www.cnbc.com/2018/02/28/us-stocks-interest-rates-fed-markets.html

希望这个答案有助于您在 WayBack Machine 中查询文章的用例。如果您有任何问题,请告诉我。

关于带有网络存档的 Python 报纸(回归机器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41680013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com