url的格式一般為(帶方括號的是可選的):
protocol://hostname[:port]/path/[;parameters][?query]#fragment
url由三部分組成:
第一部分是協議:http https ftp file ed2k
第二部分是存放資源的放**的網域名稱系統或ip位址(有時候要包含埠號)
各種傳輸協議都有預設的埠號,http的預設埠號就是80
第三部分是資源的具體位址,如目錄或檔名等
python3.0版本之後就把urllib和urllib2合併了,變為乙個urllib包
下面先用urllib.request寫個小程式
import urllib.request
wangye = urllib.request.urlopen('')
html=wangye.read()
print (html)
##輸出的全是亂碼是不是 ,因為他是二進位制的格式
import urllib.request
wangye = urllib.request.urlopen('')
html=wangye.read()
html=html.decode('utf-8')
print (html)
##這就轉化為你在瀏覽器的網頁裡面按f12的效果,是他們的源**
一、抓取乙隻貓
#reques有兩種用法 一種是'urlopen'後面加上**,另外一種是urllib.request.request加上**
所以直接用urlopen就好
二、一些函式
wangye.geturl() #輸出的是
print(wangye.info()) #輸出一堆網路的屬性什麼的
wangye.getcode() #如果輸出200說明伺服器狀態沒問題,正常相應
三、在編乙個小程式:有道翻譯
注意:1、這個urlopen有個引數data,如果其被賦值,則函式就會post,來取代get
2、data的格式必須是特定的,需要使用:urllib.parse.urlencode()進行一下編碼,編譯成url的格式
而且這個urllib.parse是乙個模組的 需要載入
四、一些知識點
status code:伺服器的狀態,200是正常,404是頁面不見了
request header:客戶端、瀏覽器的意思 #一般通過這個裡面的users-agent來判斷是**訪問還是人的訪問
使用: 1、req=urllib.request.request(url,data,header) #提前寫好header,這是個字典
或者使用:2、req=urllib.request.request(url,data)
json:這是一種輕量級的資料交換格式,說白了就是這裡就是字串把python的資料結構封裝起來,便於儲存和使用
http有好幾種方法(get、post、put、head、delete、options、connect),請問如何知道python使用的哪一種:
答:使用get_method()方法獲取request物件具體使用那種方法訪問伺服器,當request的data引數被賦值的時候,get_method()返回的'post',否則返回'get'
Python爬蟲入門一
作為入門學習,我選擇了乙個靜態 生物資訊交流分享論壇 public library of bioinformatics plob 第一次嘗試,只抓取網頁文字部分。安裝requests庫和bs4庫 前者用來鏈結 和處理http協議 後者將網頁變成結構化資料,方便抓取。easy install requ...
Python爬蟲入門 一
python版本 2.7 首先爬蟲是什麼?網路爬蟲 又被稱為網頁蜘蛛,網路機械人,在foaf社群中間,更經常的稱為網頁追逐者 是一種按照一定的規則,自動的抓取全球資訊網資訊的程式或者指令碼。根據我的經驗,要學習python爬蟲,我們要學習的共有以下幾點 首先,我們要用python寫爬蟲,肯定要了解p...
python 爬蟲入門 一)
今天學了python爬蟲,很有意思,寫一下部落格記錄一下學習過程。最基本的爬蟲僅需要urllib庫,re庫和chardet庫 urllib庫是python內建的處理網路請求的庫。對於基本的爬蟲我們僅僅需要使用他的內部模組urllib.requset。urllib.request中所要使用的函式 ur...