在我的程序的更大規模下面的代碼的目的是過濾掉所有動態HTML的網頁源代碼Python 3,urllib ...重置連接可能嗎?
代碼片段:
try:
deepreq3 = urllib.request.Request(deepurl3)
deepreq3.add_header("User-Agent","etc......")
deepdata3 = urllib.request.urlopen(deepurl3).read().decode("utf8", 'ignore')
下面的代碼循環3次以識別目標網頁是否爲動態(源代碼每隔一段時間更改一次)。
如果頁面是動態的,則上面的代碼會循環15次,並嘗試過濾掉動態內容。
問題:
雖然這種過濾方法的工作80%的時間,一些網頁將重新加載所有15次,還含有動態代碼。然而。如果我手動關閉Python Shell並重新執行我的程序,我的'刷新頁面方法'無法擺脫的動態html不再存在......它已被替換爲新的動態html,我的'刷新頁面方法'不能擺脫。所以我需要知道,這裏發生了什麼?如何重新運行我的程序,導致頁面的動態內容發生變化。並且,有沒有辦法,我可以使用任何'重置連接'命令來重新創建...無需手動重新啓動我的應用程序。
感謝您的回覆。
UPDATE:
我做了我在從主腳本運行一個循環阿米努可執行HTML採集卡。它解決了這個問題,但我仍然很好奇爲什麼我需要這樣做。
看起來像一個緩存問題的懷疑。考慮添加`.add_header('cache-control':'no-cache')`。 – 9000 2011-01-09 11:23:55
感謝9000.我希望你的方法能夠工作,但事實並非如此。 .add_header('cache-control':'no-cache') - 導致錯誤 .add_header('cache-control:','no-cache') - 沒有錯誤,但沒有解決我的問題。 感謝您對它的破解。任何其他接受者? – Rhys 2011-01-10 06:23:18