python requests.text 卡在大内容上

问题描述 投票:0回答:1

我使用

requests
库来获取日志并查找某些字符串以用于其他目的。这些日志相当大。我可以打印大多数日志的内容/文本和长度(输出 1)。然而,有一个日志我似乎无法使用
response.text
访问。当我在编辑器中设置断点时,它每次都会卡在
return response.text
(输出 2)。我不知道这是否是日志大小造成的,因为其他较大的日志已经过了这一点。我不是 Python 或
requests
库的高级用户。希望有经验的人可以分享一些这方面的见解。预先感谢。

def fetch_webpage_content(url):
    try:
        response = requests.get(url, headers = my_headers)
        print("got it")
        print(len(response.content))
        #print(response.text)
        #print(response.content)
        response.raise_for_status()
        return response.text
    except requests.RequestException as e:
        print(f"An error occurred while fetching web page content: {e}")
        return None

def process_webpage(url, pattern):
    text = fetch_webpage_content(url)
    print("in process_webpage")
    if text is not None:
        match = search_pattern(pattern, text)
        if match:
            return match.group()
        return ''
    else:
        return ''

输出1

got it
33131960
in process_webpage
got it
9383326
in process_webpage

got it
33131960
in process_webpage
got it
13795885
in process_webpage

输出2

got it
33131960
in process_webpage
got it
25565370
python python-requests
1个回答
0
投票

如果你说的是这一行:

return response.text

是要运行的最后一行,那么这可能是因为您只调用该函数。您已将代码分解为两个函数,如果该函数的“try”块运行,则

return response.text
是该函数中运行的最后一行。然后,您需要单独调用另一个函数才能运行。

正如您所建议的那样,它不会由于大小而打印整个日志,而是假设它不会抓取您认为是的所有数据。

© www.soinside.com 2019 - 2024. All rights reserved.