打开网页并写入文本文件

时间:2014-09-05 10:31:02

标签: python

我正在尝试打开网页并在文本文件中写入该页面。到目前为止这是代码,它不起作用。 Cam有人给我一个关于我做错的一般概念吗?

import urllib
opener = urllib.FancyURLopener({})
f = opener.open("http://www.python.org/")
g = open("data2.txt", "w")
g.write(str(f))      # str() converts to string
g.close()

执行代码时我得到的只是文本文件data2.txt,只有以下行:

<addinfourl at 43347592L whose fp = <socket._fileobject object at 0x000000000294C480>>

3 个答案:

答案 0 :(得分:2)

这项工作有更好的工具,例如requests。例如

import requests

url = 'http://www.python.org'
r = requests.get(url)

text_file = open("Output.txt", "w")
text_file.write(r.text)
text_file.close()

答案 1 :(得分:0)

  import urllib

  opener = urllib.FancyURLopener({})
  f = opener.open("http://www.python.org/")
  lines = f.read() # you missed this
  g = open("data2.txt", "w")
  g.write(str(lines))      # str() converts to string
  g.close()

答案 2 :(得分:0)

您也可以使用'抓取'模块。

from grab import Grab

g = Grab()
r = g.go('http://www.python.org')
open('page.htm', 'w').write(r.body)