urllib2使用总结
keywords:
?
題外話:
小弟是編程愛好者,各位看官輕拍。
最近在使用urllib2抓取網頁內容,在學習的過程中也查閱了不少資料,并從中收獲很多。在查閱資料的過程中,我發現大部分資料都是建立在對urllib2的熟悉基礎之上,程序的細節并未顧及到新手看到這份資料會產生怎樣的困惑。在接下來的內容中,我會寫到我碰到的疑問以及解決方法。如果你也碰到類似的困惑,希望給予你幫助。
一.urllib2簡介
urllib2提供一個基礎函數urlopen,通過向指定的URL發出請求來獲取數據。最簡單的形式就是
這個過程就是我們平時刷網頁的代碼表現形式,它基于請求-響應模型。
實際上可以看作兩個步驟:
我們指定一個域名并發送請求
1.
接著服務端響應來自客戶端的請求
2.
也許你會注意到,我們平時除了刷網頁的操作,還有向網頁提交數據。這種提交數據的行為,urllib2會把它翻譯為:
有時你會碰到,程序也對,但是服務器拒絕你的訪問。這是為什么呢?問題出在請求中的頭信息(header)。
有的服務端有潔癖,不喜歡程序來觸摸它。這個時候你需要將你的程序偽裝成瀏覽器來發出請求。請求的方式就包含在header中。
常見的情形:
二.示例
模擬一個利用cookie登錄人人網的過程
2012-03-07 21:34 上傳
下載附件 (33.07 KB)
說明:
1.人人網的登錄地址需要用BeautifulSoup來抓取。
2.個人信息存在info中。info是一個字典{'email':'xx','password':'xx'}.key的命名需要根據實際網頁中定義,比如豆瓣的定義是{'form_email':'xx','form_password':'xx'}
3.使用cookie的好處在于,登錄之后你可以使用cookie中保存的信息作為頭信息的一部分,利用已經保存的頭信息接著訪問網站。
?
參考:
HOWTO Fetch Internet Resources Using urllib2
Beautiful Soup 中文文檔
How to use Python to login to a webpage and retrieve cookies for later usage?
總結
以上是生活随笔為你收集整理的urllib2使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 输出true false
- 下一篇: 就是一个人写代码做软件项目也建议用版本管