我使用
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
如果你说的是这一行:
return response.text
是要运行的最后一行,那么这可能是因为您只调用该函数。您已将代码分解为两个函数,如果该函数的“try”块运行,则
return response.text
是该函数中运行的最后一行。然后,您需要单独调用另一个函数才能运行。
正如您所建议的那样,它不会由于大小而打印整个日志,而是假设它不会抓取您认为是的所有数据。