使用.read()从文件对象提取文本

2024-10-01 15:41:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用这个代码来阅读一个网站的源代码:

import urllib2
z=urllib2.urlopen('http://skreemr.com/results.jsp?q=said+the+whale&search=SkreemR+Search')
z.read()
print z
txt = open('music.txt','w')
txt.write(str(z))
txt.close()
for i in open('music.txt','r'):
        if '''onclick="javascript:pageTracker._trackPageview('/clicks/''' in i:
                print i

我得到的源代码是:

^{pr2}$

可能是个错误我不知道?
有没有人知道一个更好的方法来完成上面的工作,而不把它放在文本文件中?在


Tags: 代码inimporttxtcomhttp源代码网站
3条回答

.read()实际上并没有改变z的状态。请改用z=z.read()。在

z是类似文件的对象。str(z)只是给出了你所看到的表示。在

您需要保留z.read()返回的字符串(文件的内容)。在

更好的是,直接迭代它:

import urllib2
z=urllib2.urlopen('http://skreemr.com/results.jsp?q=said+the+whale&search=SkreemR+Search')
for i in z:
    if '''onclick="javascript:pageTracker._trackPageview('/clicks/''' in i:
        print i

z是一个file对象。实际上,您的代码打印对象描述。您需要将z.read()的结果放入变量中(或直接打印)。在

你应该这么做

import urllib2
z=urllib2.urlopen('http://skreemr.com/results.jsp?q=said+the+whale&search=SkreemR+Search')
i = z.read()
print i

相关问题 更多 >

    热门问题