爬蟲鏈結的解析

2021-08-17 05:15:54 字數 2374 閱讀 8954

1.urlparse()

屬於urllib.parse

在urlparse世界裡面,乙個標準的url鏈結格式如下

scheme://nrtlooc/path;paramters?query#fragment

所以,乙個url=''

我們使用urlparse的話,就可以被分成6個部分

具體操作如下:

res=urlparse('')

print(res)

urlparse還有帶引數的是使用方法

res=urlparse(urlstring,scheme=' ',allow_fragment=true)

scheme是預設的協議,如果urlstring沒有帶協議,則使用scheme中的協議,若是有,則仍然使用urlstring中協議

allow_fragment即是否忽略fragment,如果是false,fragment就被解析為path、paramenters或者query中的一部分

2,urlunparse()

屬於urllib.parse

正如其名字所示,ulrunparse()是urlparse()的逆過程

例如:data=['http','www.baidu.com','index.html','user','a=6','comment']

print(urlunparse(data))

這樣就完成了urlstring的構造

3urlsplit()

from urllib.parse import urlsplit

與urlparse類似,但urlsplict把urlstirng分割成5個部分,其中少了paramters

res=urlsplict('')

print(res)

4urlunsplit()

用法與urlunparse()類似

5urljoin()

屬於urllib.parse

urljoin()也是一種生成urlstring的方式,這種生成方法是提供兩個鏈結,分別是base_url,和新鏈結,分析base_url中的scheme,netloc,path這三個部分,然後對新鏈結缺失的部分進行補充,新鏈結裡面若是有,則不補充,不提換,最後返回新鏈結,舉個例子

print(urljoin('',『wd=query&tn=monline_dg&ie=utf-8『))

返回結果是:

/wd=query&tn=monline_dg&ie=utf-8

6urlencode()

from urllib,parse import urlencode

可以將字典型別轉換為url引數舉例來說

param=

base_url=''

url=base_url+urlencode(param)

print(url)

7parse_qs()

parse_qs()是parse_encode()的逆過程(為什麼名字的區別這麼大,我也是不得其解)

from urllib.parse import parse_qs

query='wd=query&tn=monline_dg&ie=utf-8'

print(parse_qs(query))

輸出結果是:

這樣就轉換稱為字典型別了

8pars_qsl()

from urllib.pase  import parse_qsl:將引數轉換成為元組組成的列表

query='wd=query&tn=monline_dg&ie=utf-8'

print(parse_qsl(query))

輸出結果:[('wd', 'query'), ('tn', 'monline_dg'), ('ie', 'utf-8')]

9quote

quote()方法可以將內容轉換為url編碼格式,有時候url帶中文可能導致亂碼,這樣就需要quote

from urllib。parse import quote

keyword='美女'

url=''+quote(keyword)

print(url)

輸出結果:%e7%be%8e%e5%a5%b3

10unquote()

對url進行解碼

from urllib.parse import unquote

url='%e7%be%8e%e5%a5%b3'

print(unquote(url))

輸出結果:美女

就可以實現解碼

python3 爬蟲 04 解析鏈結的相關函式

urlparse urlunparse 函式 urllib.parse.urlparse urlstring,scheme allow fragments ture urlstring 必填項。scheme 預設協議。allow fragments 選擇是否忽略。如果它被設定為false,fragm...

磁力鏈結 爬蟲

python獲取免費的可用 在使用爬蟲多次爬取同一 時,經常會被 的ip反爬蟲機制給禁掉,這時就可以通過使用 來解決。目前網上有很多提供最新免費 列表的 這些列表裡很多的 主機是可用的,但是也有一些是不可用的,因此需要進一步篩選。利用python可以很方便地篩選出可用的 列表。coding utf ...

GO 爬蟲鏈結

結果 結果 需要根據實際情況書寫規則13 需要根據實際情況書寫規則 14 relink 1 6 d 19 d 20 0 d 1 0 8 0 1 9 1 012 0 1 9 12 d 3 01 d dx 需要根據實際情況書寫規則 1516 17 18 func handleerror err erro...