在我的程序中,以下代码的目标是过滤掉网页源代码中的所有动态 html
代码片段:
try:
deepreq3 = urllib.request.Request(deepurl3)
deepreq3.add_header("User-Agent","etc......")
deepdata3 = urllib.request.urlopen(deepurl3).read().decode("utf8", 'ignore')
以下代码循环3次,以判断目标网页是否为Dynamic(源代码每隔一段时间更改一次)
如果页面是动态的,上面的代码再循环 15 次并尝试过滤掉动态内容。
问题:
虽然这种过滤方法在 80% 的情况下都有效,但有些页面会重新加载 15 次并且仍然包含动态代码。然而。如果我手动关闭 Python Shell 并重新执行我的程序,我的“刷新页面方法”无法摆脱的动态 html 将不再存在......它已被我的“刷新页面”的新动态 html 取代方法'无法摆脱。所以我需要知道,这是怎么回事?重新运行我的程序如何导致页面的动态内容发生变化。并且,有什么方法可以让我使用任何“重置连接”命令来重新创建此...而无需手动重新启动我的应用程序。
感谢您的回复。
更新:
我制作了一个 minu 可执行 html 抓取器,我从主脚本循环运行它。它解决了这个问题,但我仍然很好奇为什么我需要这样做。
请您参考如下方法:
读取数据后尝试关闭连接:
try:
deepreq3 = urllib.request.Request(deepurl3)
deepreq3.add_header("User-Agent","etc......")
connection = urllib.request.urlopen(deepurl3)
deepdata3 = connection.read().decode("utf8", "ignore")
connection.close()
