我正在尝试打开网页并在文本文件中写入该页面。到目前为止这是代码,它不起作用。 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>>
答案 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)