python:在读取Web浏览器输出时打印空输出

时间:2016-04-18 03:30:40

标签: python python-2.7

我的文件中有一组URL链接,我需要打开每个链接并获取输出,我需要将其存储在一个文件中。但如果我试图打印输出空行即将到来。 请找到下面的代码并帮助我

import urllib2

import webbrowser

with open('C:\\Users\\home\\Desktop\\11.txt','r') as fp:
    for line in fp:

        password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
        top_level_url = "https://facebook.com"
        password_mgr.add_password(None, top_level_url, "appsdev", "--omitted--")
        handler = urllib2.HTTPBasicAuthHandler(password_mgr)
        opener = urllib2.build_opener(handler)
        r=opener.open(top_level_url)
        r.read()
        print r.read()

2 个答案:

答案 0 :(得分:0)

如果你发布的代码是正确的,并且第二个r.read()不是拼写错误,那么它是因为你有两次读取。

在类文件对象(如opener.open()的返回值)上,调用read()将返回整个内容并将当前位置设置为文件末尾。对read()的后续调用将返回空字符串,因为光标已经在文件的末尾。

在您的代码中

r.read()  # This returns the entire contents
print r.read()  # Empty string

摆脱第一个r.read()

答案 1 :(得分:0)

在写入其他文件之前,将该内容分配到任何变量

喜欢,

 out_data = r.read()
 new_file = open('file.txt','w')
 new_file.write(out_data)
 new_file.close()

这就是你的抓取数据将被写入file.txt