【问题标题】:Newspaper3k API Article download() failed with HTTPSConnectionPool port=443 Read timed out. (read timeout=7) on URLNewspaper3k API 文章下载()失败,HTTPSConnectionPool 端口=443 读取超时。 (读取超时 = 7)在 URL 上
【发布时间】:2020-07-23 18:49:01
【问题描述】:

在 Firefox 中浏览时,我可以看到 http://www.chicagotribune.com/ct-florida-school-shooter-nikolas-cruz-20180217-story.html。但是,newspaper3k 给了我这个错误:

Article download() failed with HTTPSConnectionPool(host='www.chicagotribune.com', port=443): Read timed out. (read timeout=7) on URL http://www.chicagotribune.com/ct-florida-school-shooter-nikolas-cruz-20180217-story.html

我的代码是:

from newspaper import Article
from newspaper import Config

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

url = "https://www.chicagotribune.com/nation-world/ct-florida-school-shooter-nikolas-cruz-20180217-story.html"

page = Article(url, config=config)


page.download()
page.parse()
print(page.text)

我认为类似“renewIPAddress()”之类的内容可能会有所帮助,但我不确定如何将其准确地放入此代码中。 https://stackoverflow.com/a/50496768/2414957

【问题讨论】:

  • 下面的答案是否解决了您的读取超时问题?

标签: python python-3.x https timeout newspaper3k


【解决方案1】:

您可能已经解决了这个问题。您的代码工作正常,但在某个精确的时刻发生了“读取超时”。我发现 newspaper 连接偶尔会超时,因为它使用 Python 模块 requests。 这些超时通常与您正在查询的源相关联。报纸 3k 确实支持 Config() 中的超时参数,这有助于防止将来出现“读取超时”问题。

from newspaper import Article
from newspaper import Config

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

url = "https://www.chicagotribune.com/nation-world/ct-florida-school-shooter-nikolas-cruz-20180217-story.html"

page = Article(url, config=config)

page.download()
page.parse()
print(page.text)

【讨论】:

    猜你喜欢
    • 2020-01-19
    • 2021-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多