爬虫实战:链接爬虫实战
生活随笔
收集整理的這篇文章主要介紹了
爬虫实战:链接爬虫实战
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
假設我們想要把一個網頁中所有的鏈接地址提取出來,我們可以通過python爬蟲實現。
思路
第一步:入口鏈接
個人博客
網址
https://blog.csdn.net/KOBEYU652453?spm=1001.2101.3001.5343第二步:定義正則表達式
鏈接示例
href="https://blog.csdn.net/kobeyu652453/article/details/106355922正則用法教程鏈接
python :re模塊基本用法
于是我們可以定義正則規則
pat='(https?://[^\s)";]+\.(\w|/)*)' #^\匹配任何非空白字符 \w任何數字字母 * 0個或多個因為有的網址是http,非https,如何在s后面加?號。
全文代碼
import re import urllib.request from urllib import request def getlink(url):headers = ("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36")opener = urllib.request.build_opener()opener.addheaders = [headers]# 將opener安裝為全局urllib.request.install_opener(opener)url_request = request.Request(url)html1 = request.urlopen(url_request, timeout=10)data=str(html1.read())#根據需要定義正則表達式pat = '(https?://[^\s)";]+\.(\w|/)*)' # ^\匹配任何非空白字符 \w任何數字字母 * 0個或多個link=re.compile(pat).findall(data)#去除重復元素link=set(link)return linkurl='https://blog.csdn.net/KOBEYU652453?spm=1001.2101.3001.5343' linklist=getlink(url) for link in linklist:print(link[0])
作者:電氣-余登武
總結
以上是生活随笔為你收集整理的爬虫实战:链接爬虫实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 克拉玛依去鹤岗萝北苇场野生水禽栖息地会经
- 下一篇: 日料是什么?