Python爬蟲基礎 1

2021-07-23 11:10:30 字數 2444 閱讀 7135

url(uniform resource locator),統一資源定位符。採用url可以用一種統一的格式來描述各種資訊資源,包括檔案、伺服器的位址和目錄等。

url的一般格式為(帶方括號的為可選項):

protocol :// hostname[:port] / path / [;parameters][?query]#fragment

url的格式由三部分組成:

1.第一部分是協議(或稱為服務方式)。(protocol)

2.第二部分是存有該資源的主機ip位址(有時也包括埠號)。(hostname,port)

3.第三部分是主機資源的具體位址,如目錄和檔名等。

第一部分和第二部分用「://」符號隔開;

第二部分和第三部分用「/」符號隔開。

第一部分和第二部分是不可缺少的,第三部分有時可以省略。

使用urlopen函式構建乙個最簡單的應用:

import urllib2

response = urllib2.urlopen('')

html = response.read()

print html

urllib2可以使用乙個request物件來對映你提出的http請求。在它最簡單的使用形式中,用要請求的位址建立乙個request物件,通過呼叫urlopen並傳入request物件,將返回乙個相關請求response物件,這個應答物件如同乙個檔案物件,所以你可以在response中呼叫.read()。

import urllib2

req = urllib2.request('')

response = urllib2.urlopen(req)

the_page = response.read()

print the_page

urllib2使用相同的介面處理所有的url頭,如建立乙個ftp請求。

req = urllib2.request('')
在http請求時,允許做額外兩件事:

1.傳送data表單資料

有時候希望傳送一些資料到url,在http中,這個經常使用熟知的post請求傳送。這個通常在你提交乙個html表單時由你的瀏覽器來做。並不是所有的posts都**於表單,你能夠使用post提交任意的資料到你自己的程式。一般的html表單,data需要編碼成標準形式。然後做為data引數傳到request物件。

編碼工作使用urllib的函式而非urllib2。

import urllib

import urllib2

url = ''

values =

data = urllib.urlencode(values) # 編碼工作

req = urllib2.request(url, data) # 傳送請求同時傳data表單

response = urllib2.urlopen(req) #接受反饋的資訊

the_page = response.read() #讀取反饋的內容

如果沒有傳送data引數,urllib2使用get方式的請求。get和post請求的不同之處是post請求通常有」***」,它們會由於某種途徑改變系統狀態。data同樣可以通過在get請求的url本身上面編碼來傳送。

import urllib

import urllib2

data = {}

data['name'] = 'why'

data['location'] = 'sdu'

data['language'] = 'python'

url_values = urllib.urlencode(data)

print url_values

url = ''

full_url = url + '?' + url_values

data = urllib2.open(full_url)

2.設定headers到http請求
import urllib

import urllib2

url = ''

user_agent = 'mozilla/4.0 (compatible; msie 5.5; windows nt)'

values =

headers =

data = urllib.urlencode(values) # 編碼工作

req = urllib2.request(url, data, headers) # 傳送請求同時傳data表單

response = urllib2.urlopen(req) #接受反饋的資訊

the_page = response.read() #讀取反饋的內容

Python爬蟲基礎1

python版本 3.6 編譯器 pycharm 系統 win 10 1 file new project create 2 右擊建立的專案 new python file 3 開始輸入 import urllib.request response urllib.request urlopen pr...

Python爬蟲 1 基礎

爬蟲 spider 是用指令碼代替瀏覽器請求伺服器獲取伺服器資源的程式。python爬蟲優勢,支援模組很多,有scrapy非常強大的爬蟲框架 1.通用爬蟲 2 功能 訪問網頁 抓取資料 資料儲存 資料處理 提供檢索服務 3 爬取流程 給定一些起始的url,放入待爬取佇列 從佇列中獲取url物件,開始...

python爬蟲基礎(1)

例 開啟bing搜尋頁面檔案 c users desktop mkdir xy web scraping 在桌面建立乙個新資料夾 ps c users desktop cd xy web scraping 進入該資料夾 ps c users desktop xy web scraping pytho...