[問題] 請問抓網頁之後要怎麼存?!

看板Python作者 (小B)時間15年前 (2010/09/09 23:54), 編輯推噓9(9012)
留言21則, 2人參與, 最新討論串1/1
是這樣的 我找到了基本的抓網頁程式 但是我想把抓到的那個網頁存成htm在我的電腦裡 我該怎麼做呢? 以下是我的程式: import sys, urllib def saveWeb3(key,name,url,sPath): url=url wp=urllib.urlopen(url) content = wp.read() --- 用 print content 可以確定有抓到 可是我想把該網頁存在電腦裡 在網路上有找到這個 把網頁拷貝到硬碟上: urllib.urlretrieve(url, filename) 可是我試了很多次還是錯誤ˊˋ 該用什麼方法呢? 請知道的人幫忙解惑一下,謝謝:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.172.217.130 ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 01:00)

09/10 01:26, , 1F
fp=open('test.html','w') fp.write(content) fp.close()
09/10 01:26, 1F
不好意思,我還是不太懂~"~ 我是想要將htm檔存在C裡面 我有測試看看,可是還是IO error @@" ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 01:32)

09/10 02:30, , 2F
你是沒有讀寫權限才會IO error嗎
09/10 02:30, 2F
應該不是~這個個人電腦@@" 他出現 IOError at /save/ invalid mode: w 我目前的程式碼,請問哪裡有錯嗎@@? def saveWeb3(key,name,url,sPath): url=url page = urllib.urlopen(url) content = page.read() page.close() fp=open('test.html','w') fp.write(content) fp.close() ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 03:56)

09/10 11:39, , 3F
我自己試一切正常
09/10 11:39, 3F
@@~ 那請問,我是不是有什麼沒有import到?!>"< 我是用dev_appserver.py 當main module 這樣會有差嗎? 他的錯誤訊息是… 1202行 1199. def __init__(self, filename, mode='r', bufsize=-1, **kwargs): 1200. """Initializer. See file built-in documentation.""" 1201. if mode not in FakeFile.ALLOWED_MODES: 1202. raise IOError('invalid mode: %s' % mode) ... 1203. 1204. if not FakeFile.IsFileAccessible(filename): 1205. raise IOError(errno.EACCES, 'file not accessible', filename) 有人知道的拜託說一下>"< 我真的有找google找很久了一直卡在這裡:((( 還有,test.html檔要有先自己新增一個嗎? 因為都沒有輸入路徑,我在想是不是我少打了一個輸入路徑的東西?! ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 16:18)

09/10 18:47, , 4F
應該是FakeFile.ALLOWED_MODES不准'r'吧
09/10 18:47, 4F

09/10 18:49, , 5F
或是不准'w'? 沒打路徑就是和.py在同一個路徑
09/10 18:49, 5F

09/10 18:49, , 6F
要寫的話就不用新增test.html
09/10 18:49, 6F
嗯嗯,那請問FakeFile.ALLOWED_MODES不准r,要怎麼解決呢@@?

09/10 19:25, , 7F
你是用google app engine 吧?
09/10 19:25, 7F

09/10 19:25, , 8F
Libraries that maintain databases on disk are not
09/10 19:25, 8F

09/10 19:25, , 9F
enabled in Python for Google App Engine.
09/10 19:25, 9F
對!!我是用GAE,請問GAE不能這樣寫嗎?不是都python嗎?! 那我應該怎麼做呢@@? ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 19:47)

09/10 20:03, , 10F
去Google App Engine官網找The Python Datastore API
09/10 20:03, 10F

09/10 20:04, , 11F
基於安全性等因素,GAE是被閹割過的python,詳見faq
09/10 20:04, 11F
可是,我是要把抓到的網頁,存到自己電腦~ 你說的那個,不是資料庫嗎@@~ 我的步驟是 1.使用者介面-輸入url網址、網站名稱等等 2.把上面的資料存到google app engine的資料庫 3.把該url的html檔存到電腦(我就是這步不會~) 我有把url和name都成功新增在GAE的資料庫, 但是就是抓不下來~"~ ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 20:13)

09/10 20:31, , 12F
那你該做的事情是不要用GAE ... 去抓正常的python
09/10 20:31, 12F
@@""" 用GAE沒辦法抓網頁下來存在電腦嗎@@? 我是用Eclipse+PyDev 然後是python語言 只是main module是用GAE 我剛學而己,也不確定自己這樣算是用什麼>"< 不過我是看GAE的書做的, 應該是GAE 那,用GAE沒有辦法把抓到的網頁存在電腦裡嗎? ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 20:34)

09/10 20:37, , 13F
http://www.python.org/ 正常版的python
09/10 20:37, 13F
這個我在一開始就有下載 我是這樣做的 1.抓Python2.6 安裝 2.設環境變數path 3.抓Eclipse (好像是3.6版) 安裝 4.在Eclipse中裝PyDev 5.裝Google app engine SDK 這樣應該也算有用到正常的Python 0.0" ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 20:43)

09/10 20:57, , 14F
先到preference 設定python 路徑
09/10 20:57, 14F

09/10 20:58, , 15F
開新專案選 Pydev project
09/10 20:58, 15F

09/10 21:01, , 16F
#1BBOeFMR 另外你看python的教學不要看GAE的教學比較好
09/10 21:01, 16F
有!!我一開始就有設定PYTHON的路徑 新的專案也是Pydev project run的時候也是選python run@@" ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 21:04)

09/10 21:10, , 17F
那你用筆記本寫好了...你的程式是對的,只是不能用gae跑
09/10 21:10, 17F

09/10 21:16, , 18F
你用google搜索python 教學 ,從那些教學學吧
09/10 21:16, 18F
可是我會學PYTHON的初衷是想學GAE T^T 所以GAE沒有辦法寫把網頁存在電腦的程式嗎QQ? ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 21:38)

09/10 21:56, , 19F
除非我對上面那一段英文解讀錯誤,不然是不行。
09/10 21:56, 19F

09/10 22:08, , 20F
你的目的是什麼,我想存檔只是達成你目的的一個方法吧
09/10 22:08, 20F
我目前是想做出… 輸入URL和NAME,資料可以自動存在GAE的資料庫 我的GAE目前有兩個entity web-key.url.name path-webkey(web).path 然後可以找到那個網頁,把那個網頁存在電腦,C或指定路徑 現在可以資料可以輸入資料庫,但是不能把網頁存在電腦@@~ ※ 編輯: mirror012020 來自: 218.172.217.130 (09/10 22:13)

09/10 22:34, , 21F
何不把網頁直接存在資料庫裡?欄位用db.TextProperty()
09/10 22:34, 21F
嗯!! 那我試試看!! 真的很謝謝你們兩位:) ※ 編輯: mirror012020 來自: 218.172.217.130 (09/11 02:02)
文章代碼(AID): #1CYGCSns (Python)
文章代碼(AID): #1CYGCSns (Python)