鏈結爬蟲
實現思路:
確定好要爬取的入口鏈結
根據需求構建好鏈結提取的正規表示式
模擬成瀏覽器並爬取對應網頁
根據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語言也是剛及格,菜雞一枚。但是就我...