報名了學院的p2p專案,所以只能被迫去學python了。。。在此記錄一下我的學習流程,免得自己日後忘記了
python中至少應當有一行特殊形式的注釋,組織行:
#!/user/bin/python
雙引號中字串與單引號中的字串使用完全相同
同一層次的語句必須有相同的縮排量,每一組語句成為乙個塊
raw_input() 取得使用者猜測的數字
if語句在結尾處包含乙個冒號,告訴python下面跟著乙個語句塊(if-elif-else)
while迴圈中的使用乙個else語句
函式通過def關鍵字進行定義
預設參考值,關鍵引數
列表,元組
瀏覽器通過http協議請求乙個伺服器,伺服器接著響應,返回乙個html給瀏覽器,接著通過瀏覽器將html翻譯成我們看到的網頁,這就是乙個很精簡的方式了,具體情況要負載的很多很多,而爬蟲正是在伺服器返回html**這個時候開始抓取檔案的
uri 表示請求伺服器的路徑,定義資源
url 表示如何訪問這個資源
urllib
向指定的url發出請求獲取資料,返回乙個類檔案(其實是字串)物件,可選引數data以及請求頭header,不帶data時為get請求,帶data時為post請求
response=urllib2.urlopen("url")
html=response.read()
上述**分開解析時的流程為
req=urllib2.requset("url")//建立request物件,指明要訪問的url
response=urllib2.urlopen(req)
html=repose.read()
post請求 post請求需要用標準的方式encoding,這個是在urllib中完成
import urllib
import urllib2
url=" "
values=
data=urllib.urlencode(values)
req=urllib2.request(url,data)
user-agent 瀏覽器區別自身的方式是user-agent頭
url=''
'get':url,
'host':'news.163.com',
'referer':''}
req=urllib2.request(url,data,headers)
response的方法 geturl()返回的是獲取得到的真實的url
info()返回物件的字典物件
re模組,提供對正規表示式的支援
import re
pattern=re.compile(r'hello')//將正規表示式字串形式編譯為pattern例項
match=pattern.match('hello world')//使用pattern的match例項處理文字獲得匹配的結果
match.group()//使用match例項獲得分組資訊
位元組串str通過decode變為unicode
字串unicode通過encode變為str
python裡預設的是ascii碼
1、主要審查元素,分析鏈結(比如各分類的網頁鏈結組成)
2、爬取各分類的主要頁面
3、歸檔
後記,如果有興趣做這一塊的話,還可以去學習一些現成的框架,比如beautifulsoap 或者scrapy
Python爬蟲的一點實踐
爬網頁爬的是資料,如果是簡單的html網頁,可以通過chrome分析請求連線然後通過scrapy獲取想要的資料,主要是xpath和正規表示式的使用 如果是對網頁的無目的搜尋式爬取,可以獲取request返回的內容中所有超連結然後不停地爬下去 如果是對乙個網頁的指定資料的爬取,直接可以定位到頁面元素然...
爬蟲的一點經驗
1.寫乙個網頁爬蟲的時候遇到了乙個div巢狀問題,即乙個大的div裡面有很多小的div,如 xx x 這樣乙個型別,如果爬取內層的div是很簡單的,正規表示式十分好寫 div 但是如果要爬取外面的div該怎麼辦呢?當時我的做法是繼續尋找,找出該段內容後面的具有識別該段內容能力的內容。如上式,在正規表...
關於python的一點學習筆記
整數運算最精確,浮點數可能會有四捨五入的誤差 python中,r 中間的字串不進行轉義 print line1 line2 line3 用此格式可以省去 n and,or,not 分別標識 與,或,否 if 後 一定要記得加冒號!python中沒有真正意義上的常量,通常用大寫字母來表示乙個常量 為除...