爬蟲筆記(9 23) urllib庫的使用

2021-08-08 15:55:56 字數 2653 閱讀 7754

1.讀取內容

1)file.read()讀取內容的全部,讀取到額度內容賦給乙個字串變數

2)file.readline()讀取全部內容,讀取的內容賦給乙個列表變數

3)file.readline()讀取檔案的一行內容

2.瀏覽器的模擬

1)修改報頭(build_opener()的方法)

import urllib.request

url="爬蟲網頁"

headers=("user-agent","隨便乙個**f12後找到的資訊")

opener=urllib.request.build_opener()

opener.addheaders=[headers]

data=opener.open(url).read()

2)新增報頭(add_header())

import urllib.request

url="爬蟲網頁"

req=urllib.request.request(url)

req.add_header("user-agent","隨便乙個網頁f12後找到的資訊")

data=urllib.request.urlopen(req).read()

兩種方法都是為了避免發生403錯誤。

2.超時設定

urllib.request.urlopen(要開啟的網頁,timeout=時間值)
3.http協議請求

1)get請求

·首先網頁要是get方式,在**上可以看到「欄位1=字段內容」

·對應的url為引數,構建request物件

·通過urlopen()開啟構建request物件

import urllib.request

url=""

key="微微一笑"#中文為了防止出現asscii的錯誤,所以要用quote

key_code=urllib.request.quote(key)

url_all=url+key_code

req=urllib.request.request(url_all)

data=urllib.request.urlopen(req).read()

fhandle=open("路徑/5.html","wb")

fhandle.write(data)

fhandle.close()

2)post請求

import urllib.request

import urllib.parse

url=""

postdata=urllib.parse.urlencode().encode('utf-8')

req=urllib.request.request(url,postdata)

data=urllib.request.urlopen(req).read()

fhandle=open("路徑/6.html","wb")

fhandle.write(data)

fhandle.close()

4.**伺服器

def use_proxy(proxy_add,url):#(**伺服器位址,爬取網頁位址)

data=urllib.request.urlopen("")

6.異常處理urlerror

1)鏈結不上伺服器2)遠端url不存在3)無網路4)觸發了httperror

import urllib.request

import urllib.error

try:

urllib.request.urlopen("")

except urllib.error.urlerror as e:

if hasattr(e,"code"):

print(e.code)

if hasattr(e,"reason"):

print(e.reason)

Python爬蟲入門筆記 urllib庫的使用

1 直接訪問 import urllib2 url 直接請求 response urllib2.urlopen url 獲取狀態碼,如果是200表示成功 print response.getcode 列印 print response.read python語言就是這麼簡潔,幾行 就把網頁爬了下來,...

爬蟲之urllib庫

一 urllib的基本使用 import urllib.request response urllib.request.urlopen 獲取當前爬取網頁的狀態碼 print response.getcode decode 解碼 位元組資料轉成字串資料 data response.read decod...

爬蟲基礎 urllib庫

使用 urllib 匯入必要模組 from urllib import request 如果需要 url轉碼 from urllib import parse print parse.quote 范冰冰 e8 8c 83 e5 86 b0 e5 86 b0 urlopen url rsp reque...