Python入門 13 爬蟲一

2022-08-30 21:36:25 字數 2022 閱讀 5009

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...