2015-10-21 48 views
0

我正在報廢一個網站,一切看起來都很好,除非我無法將網站中的鏈接保存到變量中,然後再保存到文本文件中。Python變量值自動更改

import requests 
from bs4 import BeautifulSoup 
r = requests.get("https://website.com/list/") 
soup = BeautifulSoup(r.content) 
file = open("newtext.txt", "w") 
for link in soup.find_all("a"): 
    g_data = link.get("href") 
    print g_data 

輸出是完美的,直到這個腳本

,但如果我嘗試打印的G_data一次for循環被執行後,一切都過去了..

print g_data 

只有一個鏈接沒有其他輸出。我做錯了什麼?

PS:我已經在不同的網站上嘗試了這一點,它完全沒有任何錯誤地輸出。

+0

你試圖打印出整個r.content,看看原始數據的樣子? – lionel319

+0

你想要完成什麼? – skyline75489

+0

@ lionel319是的原始數據看起來很正常。我甚至可以在for循環中打印鏈接而不會出現任何錯誤。但是當我試圖在for循環執行之後再次打印變量時,它只剩下一些垃圾值。什麼機會一個變量會自動更改? –

回答

3

在您發佈的代碼中,g_data一次只能指向一個href。如果你想它來收集所有href屬性,你需要使它成爲一個list

g_data = [] for link in soup.find_all("a"): g_data.append(link.get("href"))

+0

謝謝曼......這解決了問題。我知道我做錯了什麼。 –

+0

沒問題。有時它只是需要另一雙眼睛。 –

+0

我在想這個問題,但我有其他網站的工作完美。所以我在網站設計中粉碎了我的所有想法,他們已經做了一些事情來停止報廢。 –