Python爬蟲(二)使用urllib來爬點東西

2021-08-10 02:08:49 字數 2073 閱讀 6868

1、先爬乙個網頁下來看看吧

怎樣扒網頁呢?其實就是根據url來獲取它的網頁資訊,雖然我們在瀏覽器中看到的是優美有序的畫面,但是其實是由瀏覽器解釋才呈現出來的,實質它是一段html**,加js、css,下面我們就來扒乙個網頁下來看看。

# python 3

import urllib.request

response = urllib.request

.urlopen("")

print(response.read())

真正的程式就兩行,把它儲存成 demo.py,進入該檔案的目錄,執行python demo.py命令檢視執行結果吧。

2.分析扒網頁的方法

第一行response = urllib.request.urlopen("")

urlopen(url, data, timeout)
第二行

print(response.read())
response物件有乙個read方法,可以返回獲取到的網頁內容。

如果不加read直接列印會是什麼呢?答案如下:

0x02e05270>
直接列印出了該物件的描述,所以記得一定要加read方法,否則它不出來內容可就不怪我咯!

3.post和get資料傳送

上面的程式演示了最基本的網頁抓取,不過,現在大多數**都是動態網頁,需要你動態地傳遞引數給它,它做出對應的響應。所以,在訪問時,我們需要傳遞資料給它。最常見的情況就是登入註冊的時候呀。

把使用者名稱和密碼傳送到乙個url,然後你得到伺服器處理之後的響應,這個該怎麼辦?

資料傳送分為post和get兩種方式,兩種方式最重要的區別是get方式是直接以鏈結形式訪問,鏈結中包含了所有的引數,當然如果包含了密碼的話是一種不安全的選擇,不過你可以直觀地看到自己提交了什麼內容。post則不會在**上顯示所有的引數,不過如果你想直接檢視提交了什麼就不太方便了。

post方式:

上面提到了data引數,它就是用在這裡的,我們傳送的資料就是這個引數data,下面演示一下post方式。

import urllib.request,urllib.parse

values =

data = urllib.parse

.urlencode(values)

url = ""

response = urllib.request

.urlopen(url,data)

print(response.read())

我們引入了urllib庫,現在我們模擬登陸csdn,當然上述**可能登陸不進去,因為csdn還有個流水號的字段,沒有設定全,比較複雜在這裡就不寫上去了,在此只是說明登入的原理。一般的登入**一般是這種寫法。

我們需要定義乙個字典,名字為values,引數我設定了username和password,下面利用urllib的urlencode方法將字典編碼,命名為data,構建request時傳入兩個引數,url和data,執行程式,返回的便是post後呈現的頁面內容。

get方式:

至於get方式我們可以直接把引數寫到**上面,直接構建乙個帶引數的url出來即可。

import urllib.request

values={}

values['username'] = "[email protected]"

values['password']="***x"

data = urllib.parse.urlencode(values)

url = ""

geturl = url + "?"+data

response = urllib.request.urlopen(url)

print(response.read())

你可以列印輸出一下url,發現其實就是原來的url加?然後加編碼後的引數,

和我們平常get訪問方式一模一樣,這樣就實現了資料的get方式傳送。

———–到這裡我們就已經了解了爬蟲的一些基本使用,可以抓取到一些基本的網頁資訊啦~~~

爬蟲二 Python爬蟲入門二

1.認識爬蟲 1.1 什麼是爬蟲 爬蟲 一段自動抓取網際網路資訊的程式,從網際網路上抓取對於我們有價值的資訊。1.2 python的爬蟲架構 網頁解析器 將乙個網頁字串進行解析,可以按照我們的要求來提取出我們有用的資訊,也可以根據dom樹的解析方式來解析。網頁解析器有正規表示式 直觀,將網頁轉成字串...

Python爬蟲 二 爬蟲原理

爬蟲就是請求 並提取資料的自動化程式。其中請求,提取,自動化是爬蟲的關鍵!下面我們分析爬蟲的基本流程 發起請求 通過http庫向目標站點發起請求,也就是傳送乙個request,請求可以包含額外的header等資訊,等待伺服器響應 獲取響應內容解析內容 得到的內容可能是html,可以用正規表示式,頁面...

Python標準庫之資料抓取模組urllib

urllib是python內建的http請求庫,它包含四個子模組 request模組,它是最基本的 http 請求模組,我們可以用它來模擬傳送一請求,就像在瀏覽器裡輸入 然後敲擊回車一樣,只需要給庫方法傳入 url 還有額外的引數,就可以模擬實現這個過程了。error模組即異常處理模組,如果出現請求...