Python爬蟲之Beautiful Soup方法選擇器

2020-12-06 一起學python

find_all( )方法續講

上一節我們介紹了find_all( )方法,它是查詢所有符合條件的元素的,我們傳入一些屬性和文本進行,就可以得到符合條件的元素,它的功能十分強大,我們也介紹了它的API:find_all(name. attrs, recusive, text, **kwargs)

1.attrs

上一節中,我們詳細介紹了依靠根據節點名來查詢,這一節我們講介紹根據一些屬性來查詢,示例如下:

運行結果如下:

這裡查詢的時候傳入的是attrs參數,參數的類型是字典類型。比如,要查詢id為list-1的節點,可以傳入attrs={'id':'list-1'}的查詢條件,得到的結果是列表形式,包含的內容就是符合id為list-1的所有節點。在上面的例子中,符合條件的元素個數是1,所以結果長度是為1的列表。

對於一些常用的屬性,比如id和class等,我們可以不用attrs來傳遞。比如,要查詢id為list-1的節點,可以直接傳入id這個參數。還是上面的文本,我們換一種方式來查詢:

運行結果如下:

這裡直接傳入id='list-1',就可以查詢id為list-1的節點元素了。而對於class來說,由於class在python中是一個關鍵字,所以後面需要加上一個下劃線,即class_='element',返回的結果依然還是Tag組成的列表。

2.text

text參數可以用來匹配節點的文本,傳入的形式可以是字符串,可以是正則表達式對象,示例如下:

運行結果如下:

這裡有兩個a節點,其內部包含文本信息。這裡在find_all( )方法中傳入text參數,該參數為正則表達式對象,結果返回所有匹配正則表達式的節點文本組成的列表。

find( )

除了前面的find_all( )方法,還有find( )方法,只不過後者返回的是單個元素,也就是第一個匹配的元素,而前者返回的是所有匹配的元素組成的列表。示例如下:

運行結果如下:

這裡的返回結果不再是列表形式,而是第一個匹配的節點元素,類型依然是Tag類型。

另外,還有許多查詢方法,其用法與前面介紹的find_all( )、find( )方法完全相同,只不過查詢範圍不同,這裡簡單地對其進行說明:

find_parents( )和find_parent( ):前者返回所有祖先節點,後者返回直接父節點find_next_siblings( )和find_next_sibling( ):前者返回後面所有的兄弟節點,後者返回後面第一個兄弟節點。find_previous_siblings( )和find_previous_sibling( ):前者返回前面所有的兄弟節點,後者返回前面第一個兄弟節點。find_all_next( )和find_next( ):前者返回節點後所有符合條件的節點,後者返回第一個符合條件的節點。find_all_previous( )和find_previous( ):前面返回節點前所有符合條件的節點,後者返回第一個符合條件的節點。

相關焦點

  • 5分鐘快速學習掌握python爬蟲Beautifulsoup解析網頁
    python爬蟲用Beatifulsoup庫解析網頁提取所需元素新手看懂個人觀點:之前我們有講過爬蟲和網頁的一些聯繫,網頁的一些組成部分,爬蟲就是對網頁裡面的數據進行提取然後對其進行數據處理編輯器:pycharm,—————————————————————————我們分成三部分來完成今天的工作:第一部分:使用Beautifulsoup
  • Python,爬蟲開發的不二選擇
    開發爬蟲使用的語言,一般有C++、Java或者Python等,這些都是面向對象的程式語言。其中C++和Java都是強類型語言,而Python是一種弱類型語言。那麼這三類語言都是有什麼優缺點呢?請看下面描述:1)JAVAJava的語法比較規則,採用嚴格的面向對象編程方法,同時有很多大型的開發框架,比較適合企業級應用。
  • Python爬蟲實戰教程——爬取xkcd漫畫
    網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人),是一種按照一定的規則,自動地抓取網絡信息的程序或者腳本。常用CSS選擇器:id、class、標籤選擇器<!:用select()方法尋找HTML元素,用標籤的get()方法從元素中獲取數據。
  • Python3.6安裝BeautifulSoup4模塊
    首先要確保自己的python3.6運行正常?何為運行正常呢?就是你在cmd後出現的「黑屏幕」上直接輸入python然後出現下面的界面就是正確的了。然後我們安裝的話,需要在 直接進入的cmd裡面進行安裝,而非python3.6環境中我們關閉上面的python3.6環境。重新cmd,進入「黑屏幕」。
  • Python開發簡單爬蟲【學習資料總結】
    將URL存放在關係型數據中 將URL存儲在緩存資料庫中 三、網頁下載器和urllib2模塊 網頁下載器類似於瀏覽器,會將網際網路對應的網頁以HTML的形式下載到本地,存儲成本地文件或內存字符串,然後進行後續的分析。
  • python開發爬蟲有門檻嗎?
    如果你不是科班出身,沒有開發經驗,初次接觸開發爬蟲這檔子事兒,相信這篇文章能幫到你。python開發爬蟲肯定是有門檻的。儘管python很簡單,上手不難,但是開發起來你會發現,開發爬蟲不只是單單會python就可以了,你還得需要下列這些技能。
  • python爬蟲-urllib、urllib2、requests三者關係
    只要人能看到的東西,理論上都是爬蟲可以獲取的。不論靜態頁面還是動態頁面。也不論pc端的頁面還是移動端的app。話有點大,但這就是本系列的目的。爬蟲編程,有很多語言可選,python、php、go、java···甚至是c。這裡我們選擇python作為爬蟲的程式語言,因為它簡單易上手,並且節約生命。
  • 如何開始寫你的第一個python腳本——簡單爬蟲入門!
    好多朋友在入門python的時候都是以爬蟲入手,而網絡爬蟲是近幾年比較流行的概念,特別是在大數據分析熱門起來以後,學習網絡爬蟲的人越來越多,哦對,現在叫數據挖掘了!其實,一般的爬蟲具有2個功能:取數據和存數據!好像說了句廢話。。。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    python教程大合集,包含python所有就業方向,每套課程均來自市面上主流培訓機構的原版教程,價值都在數百元以上 每套課程均包含:視頻課程+課件+原始碼 重要:建議根據自己工作方向和需求,重點選擇2到3套課程學精,吃透,然後在工作 重要:零基礎小白建議先選擇零基礎全能篇的一套課程學精,然後再根據自 己的需求和規劃選擇學習其他方向課程,學完後一定要多實踐
  • 最全的 Python 反爬蟲及應對方案!
    解決方法:註冊多個帳號、模擬正常操作。實現難度:★★★ 4. Spider Trap蜘蛛陷阱導致網絡爬蟲進入無限循環之類的東西,這會浪費蜘蛛的資源,降低其生產力,並且在編寫得不好的爬蟲的情況下,可能導致程序崩潰。禮貌蜘蛛在不同主機之間交替請求,並且不會每隔幾秒鐘從同一伺服器請求多次文檔,這意味著「禮貌」網絡爬蟲比「不禮貌」爬蟲的影響程度要小得多。
  • Python 爬蟲面試題 170 道
    8.了解 Python 之禪麼?9.了解 docstring 麼?10.了解類型註解麼?11.例舉你知道 Python 對象的命名規範,例如方法或者類等12.Python 中的注釋有幾種?59.python 字典和 json 字符串相互轉化方法60.請寫一個 Python 邏輯,計算一個文件中的大寫字母數量61. 請寫一段 Python連接 Mongo 資料庫,然後的查詢代碼。62.說一說 Redis 的基本類型。
  • Python新手爬蟲,簡單製作抓取廖雪峰的教程的小爬蟲
    Python 數據處理 Python編程從入門到實踐 核心編程基礎教程 網絡爬蟲入門書籍 python視頻編程從入門到精通 程序設計教材人民郵電¥72.2領3元券話不多說,先來看看整個爬蟲過程吧!目標:廖雪峰官網&mdash;python教程工具:pycharm、python3.6、requests庫、time庫、lxml庫思路:85 抓取所有的目錄章節 url85 找到 url內教程主體所在的 div85 遍歷 div下所有標籤,文本和代碼部分內容直接保存85 區分其中的代碼、圖片、視頻 3個內容,
  • 初學者如何用「python爬蟲」技術抓取網頁數據?
    想要入門Python 爬蟲首先需要解決四個問題:1.熟悉python編程2.了解HTML3.了解網絡爬蟲的基本原理4.學習使用python爬蟲庫1、熟悉python編程剛開始入門爬蟲,初學者無需學習python的類,多線程,模塊和其他稍微困難的內容。
  • Python破解反爬蟲:最新反爬蟲有道翻譯中英文互譯破解,附代碼
    由於爬蟲的出現,導致很多網頁都設置了反爬蟲機制:常見的反爬蟲機制就是在客戶端發出請求的時候,在請求的內容中新增一些內容,而這些內容都是經過「加密的」,每次請求都是不同的,這樣就導致了很多傳統的爬蟲失效。
  • python為什麼叫爬蟲?為啥那麼多人通過python兼職都能掙不少錢?
    Python能做什麼之前有很多文章介紹python能做什麼。今天介紹python爬蟲的學習。網絡爬蟲 網絡爬蟲,也叫網絡蜘蛛(Web Spider)。開發環境:Win7+Python 2.7 64bit+PyCharm :環境配置方法自行百度推薦的python爬蟲學習書籍1.米切爾 (Ryan Mitchell) (作者), 陶俊傑 (譯者), 陳小莉 (譯者)的Python網絡數據採集2
  • Python 爬蟲面試題 170 道:2019 版
    8.了解 Python 之禪麼?9.了解 dosctring 麼?10.了解類型註解麼?11.例舉你知道 Python 對象的命名規範,例如方法或者類等12.Python 中的注釋有幾種?13.如何優雅的給一個函數加注釋?
  • 開課吧Python:Python爬蟲是什麼?爬蟲工程師薪資怎麼樣?
    Python爬蟲是由Python程序開發的網絡爬蟲(webspider,webrobot),是按照一定規則自動抓取全球資訊網信息的程序或腳本。其實一般是通過程序在網頁上獲取你想要的數據,也就是自動抓取數據。為什麼需要用爬蟲?
  • python爬蟲入門實戰!爬取博客文章標題和連結!
    最近有小夥伴和我留言想學python爬蟲,那麼就搞起來吧。準備階段爬蟲有什麼用呢?舉個最簡單的小例子,你需要《戰狼2》的所有豆瓣影評。最先想的做法可能是打開瀏覽器,進入該網站,找到評論,一個一個複製到文本中,保存,翻頁,接著複製,直到翻到最後一頁。
  • 「Python爬蟲與文本實例技術與應用」培訓班通知
    各科研院所單位:    隨著網際網路的發展,網絡信息呈現指數式增長,要在短時間內獲取大量信息,網絡爬蟲無疑是一種最適合的方法。
  • 如何快速學會Python爬蟲(入門篇)
    Python爬蟲入門二之爬蟲基礎了解3. Python爬蟲入門三之Urllib庫的基本使用4. Python爬蟲入門四之Urllib庫的高級用法5. Python爬蟲入門五之URLError異常處理6.