2015-10-21 76 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

我在想这个问题,但我有其他网站的工作完美。所以我在网站设计中粉碎了我的所有想法,他们已经做了一些事情来停止报废。 –