Python網路爬蟲學習筆記(四)

2021-08-20 20:39:23 字數 1154 閱讀 7154

鏈結爬蟲

實現思路:

確定好要爬取的入口鏈結

根據需求構建好鏈結提取的正規表示式

模擬成瀏覽器並爬取對應網頁

根據2中的正規表示式提取出該網頁中包含的鏈結

過濾掉重複的鏈結

後續操作,例如列印這些鏈結

以下程式是獲取「網頁上的所有鏈結

import re

import urllib.request

import urllib.error

def getlink(url):

#模擬成瀏覽器

opener=urllib.request.build_opener()

opener.addheaders=[headers]

#將opener安裝為全域性

"""注:urlopen()不支援驗證、cookie或者其他http的高階功能

想要支援這些功能,必須使用build_opener()來建立自定義的opener物件

將opener安裝為全域性作為urlopen()使用的全域性物件,即以後呼叫uelopen()都會使用自定義的opener物件"""

urllib.request.install_opener(opener)

file=urllib.request.urlopen(url) #爬取網頁內容

data=str(file.read()) #轉化為string

pat='(https?://[^\s)";]+\.(\w|/)*)' #設計正規表示式,用於提取網頁中的所有鏈結

link=re.compile(pat).findall(data)

link=list(set(link)) #用set將link轉化成集合來去除重複鏈結,再轉化成list

return link

if __name__=='__main__':

url=""

linklist=getlink(url)

for link in linklist:

print(link[0])

執行結果如下:

網路爬蟲 python學習筆記

pip install requestsr requests.get url r requests.get url,params none,kwargs request其實只有乙個方法 request 有兩個物件 import request r requests.get print r.statu...

python網路爬蟲學習筆記

爬取網頁的通用 框架 網路爬蟲的盜亦有道 requests爬取例項 自動爬取html頁面 自動網路請求提交 主要方法 說明requests.request 構造乙個請求 requests.get 獲取html網頁的主要方法,對應於http的get requests.head 獲取html網頁頭資訊的...

Python(學習筆記 網路爬蟲)

這篇呢作為學習筆記吧,應該不是太官方的 那就開始吧,不太正式,就不注重格式了 一 引言 首先我們應該想這麼個問題,學python的目的是什麼,最近我們開了python這門課,有好多同學的學習方法我感覺出了問題,有的同學問我怎麼學,說實在我也不知道,因為我也是新手,c語言也是剛及格,菜雞一枚。但是就我...