亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python爬蟲獲取頁面所有URL鏈接過程詳解

 更新時間:2020年06月04日 15:00:01   作者:程序員的人生A  
這篇文章主要介紹了Python爬蟲獲取頁面所有URL鏈接過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

如何獲取一個頁面內(nèi)所有URL鏈接?在Python中可以使用urllib對網(wǎng)頁進(jìn)行爬取,然后利用Beautiful Soup對爬取的頁面進(jìn)行解析,提取出所有的URL。

什么是Beautiful Soup?

Beautiful Soup提供一些簡單的、python式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹唵?,所以不需要多少代碼就可以寫出一個完整的應(yīng)用程序。

Beautiful Soup自動將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼。你不需要考慮編碼方式,除非文檔沒有指定一個編碼方式,這時,Beautiful Soup就不能自動識別編碼方式了。

BeautifulSoup支持Python標(biāo)準(zhǔn)庫中的HTML解析器,還支持一些第三方的解析器,如果我們不安裝它,則 Python 會使用 Python默認(rèn)的解析器,lxml 解析器更加強(qiáng)大,速度更快。

全部代碼:

from bs4 import BeautifulSoup
import time,re,urllib2
t=time.time()
websiteurls={}
def scanpage(url):
 websiteurl=url
 t=time.time()
 n=0
 html=urllib2.urlopen(websiteurl).read()
 soup=BeautifulSoup(html)
 pageurls=[]
 Upageurls={}
 pageurls=soup.find_all("a",href=True)
 for links in pageurls:
  if websiteurl in links.get("href") and links.get("href") not in Upageurls and links.get("href") not in websiteurls:
   Upageurls[links.get("href")]=0
 for links in Upageurls.keys():
  try:
   urllib2.urlopen(links).getcode()
  except:
   print "connect failed"
  else:
   t2=time.time()
   Upageurls[links]=urllib2.urlopen(links).getcode()
   print n,
   print links,
   print Upageurls[links]
   t1=time.time()
   print t1-t2
  n+=1
 print ("total is "+repr(n)+" links")
 print time.time()-t
scanpage(http://news.163.com/)

利用BeautifulSoup還可以有針對性的獲取網(wǎng)頁鏈接:Python爬蟲獲取網(wǎng)頁上的鏈接,通過beautifulsoup的findall()方法對匹配的標(biāo)簽進(jìn)行查找。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python數(shù)據(jù)處理詳情

    python數(shù)據(jù)處理詳情

    這篇文章主要介紹了python數(shù)據(jù)處理詳情,文章通過json文件的一個數(shù)據(jù)表展開對主題的詳細(xì)說明,具有一定的參考價值需要的小伙伴可以參考一下
    2022-04-04
  • python繪制簡單彩虹圖

    python繪制簡單彩虹圖

    這篇文章主要為大家詳細(xì)介紹了python繪制簡單彩虹圖的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 使用Python進(jìn)行Ping測試的操作指南

    使用Python進(jìn)行Ping測試的操作指南

    在網(wǎng)絡(luò)工程中,Ping測試是一種常用的網(wǎng)絡(luò)診斷工具,用于檢查網(wǎng)絡(luò)連接的可達(dá)性和響應(yīng)時間,隨著Python編程語言的廣泛應(yīng)用,越來越多的網(wǎng)絡(luò)工程師開始使用Python進(jìn)行自動化網(wǎng)絡(luò)測試和管理任務(wù),本篇文章將詳細(xì)介紹如何使用Python進(jìn)行Ping測試,需要的朋友可以參考下
    2024-06-06
  • 什么是python的必選參數(shù)

    什么是python的必選參數(shù)

    在本篇文章里小編給大家分享的是一篇關(guān)于python必選參數(shù)是什么意思的相關(guān)知識點(diǎn),需要的朋友們可以參考下。
    2020-06-06
  • 使用Python自動化自定義字體混淆信息的方法實(shí)例

    使用Python自動化自定義字體混淆信息的方法實(shí)例

    今天小編就為大家分享一篇關(guān)于使用Python自動化自定義字體混淆信息的方法實(shí)例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • python 讀取鼠標(biāo)點(diǎn)擊坐標(biāo)的實(shí)例

    python 讀取鼠標(biāo)點(diǎn)擊坐標(biāo)的實(shí)例

    今天小編就為大家分享一篇python 讀取鼠標(biāo)點(diǎn)擊坐標(biāo)的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python異常處理操作實(shí)例詳解

    Python異常處理操作實(shí)例詳解

    這篇文章主要介紹了Python異常處理操作,結(jié)合實(shí)例形式分析了Python常見的異常處理類型、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Python實(shí)現(xiàn)將Excel轉(zhuǎn)換成為image的方法

    Python實(shí)現(xiàn)將Excel轉(zhuǎn)換成為image的方法

    今天小編就為大家分享一篇Python實(shí)現(xiàn)將Excel轉(zhuǎn)換成為image的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫和表的提取的實(shí)例剖析

    python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫和表的提取的實(shí)例剖析

    這篇文章主要介紹了python如何解析復(fù)雜sql,實(shí)現(xiàn)數(shù)據(jù)庫和表的提取的實(shí)例剖析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python統(tǒng)計(jì)日志ip訪問數(shù)的方法

    python統(tǒng)計(jì)日志ip訪問數(shù)的方法

    這篇文章主要介紹了python統(tǒng)計(jì)日志ip訪問數(shù)的方法,涉及Python操作日志文件及正則匹配的相關(guān)技巧,非常具有實(shí)用價值,需要的朋友可以參考下
    2015-07-07

最新評論