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