python3 爬蟲入門(一)urlib庫基本使用

2021-08-11 02:55:07 字數 3633 閱讀 6589

1.什麼是urlib?

urllib是python內建的http請求庫

包括以下模組

urllib.request 請求模組

urllib.error 異常處理模組

urllib.parse url解析模組

urllib.robotparser robots.txt解析模組

2.關於urllib.request.urlopen引數的介紹:

urlopen一般常用的有三個引數,它的引數如下:

urllib.requeset.urlopen(url,data,timeout)

response.read()可以獲取到網頁的內容

import urllib.request

response = urllib.request.urlopen('')

例:通過bytes(urllib.parse.urlencode())可以將post資料進行轉換放到urllib.request.urlopen的data引數中,這樣就完成了一次post請求

import urllib.parse

import urllib.request

data = bytes(urllib.parse.urlencode(), encoding='utf8')

print(data)

response = urllib.request.urlopen('', data=data)

print(response.read())

3.timeout引數的使用

在某些網路情況不好或者伺服器端異常的情況會出現請求慢的情況,或者請求異常,所以這個時候我們需要給

請求設定乙個超時時間,而不是讓程式一直在等待結果。例子如下:

import urllib.request

response = urllib.request.urlopen('', timeout=1)

print(response.read())

4.響應型別

import urllib.request

response = urllib.request.urlopen('')

print(type(response))

5.響應頭

設定headers:

有很多**為了防止程式爬蟲爬**造成**癱瘓,會需要攜帶一些headers頭部資訊才能訪問,最長見的有user-agent引數

import urllib.request

request = urllib.request.request('')

response = urllib.request.urlopen(request)

print(response.read().decode('utf-8'))

6.**,proxyhandler

通過rulllib.request.proxyhandler()可以設定**,**它會檢測某一段時間某個ip 的訪問次數,如果訪問次數過多,它會禁止你的訪問,所以這個時候需要通過設定**來爬取資料

cookie中儲存中我們常見的登入資訊,有時候爬取**需要攜帶cookie資訊訪問,這裡用到了http.cookijar,用於獲取cookie以及儲存cookie

8.異常處理

urllb異常:

urlerror,httperror(httperror是urlerror的子類)

urlerror裡只有乙個屬性:reason,即抓異常的時候只能列印錯誤資訊

httperror裡有三個屬性:code,reason,headers,即抓異常的時候可以獲得code,reason,headers三個資訊,例子如下:

9.url解析urlparse:url解析函式的重點是將url字串拆分到其元件中,或將url元件組合到url字串中。

from urllib.parse import urlparse

result = urlparse("/index.html;user?id=5#comment")

print(result)

10.urlunpars:功能和urlparse的功能相反,它是用於拼接,例子如下:

11.urljoin:做拼接的,例子如下:

12.最基本的抓站

from urllib import request    

response = request.urlopen("/")  

content = response.read().decode('utf-8')  

print(content) 

Python3爬蟲入門 一

python3爬蟲入門 在瀏覽器的位址列輸入url位址,在網頁處右鍵單擊,找到檢查。不同瀏覽器的叫法不同,chrome瀏覽器叫做檢查,firefox瀏覽器叫做檢視元素,但是功能都是相同的 可見即可爬 技術上 違法的 擦邊球 一 url 專業一些的叫法是統一資源定位符 uniform resource...

python3 爬蟲入門

這裡爬取貓眼電影 top100 榜的資訊,作為學習的第乙個demo。今天開始接觸的python,從爬蟲開始。語言相對來說比較簡單,環境配置到是花了不少時間。有個要注意的點是在引入beautifursoup庫的時候會報錯,因為3.x的庫需要引入的是beautifursoup4.到這一步環境配置基本上o...

python3爬蟲入門

pip install requests2 匯入requests import requests 3 requests方法 requests.get 獲取html網頁的主要方法,對應http的get4 獲取流程 url 使用get方法獲取資料,返回包含網頁資料的response響應,超時時間測試 r...